Event Pagesでchrome.contextMenus
以前作った https://github.com/kinjouj/chrome-extension-twify で説明する
(function() {
  chrome.contextMenus.create({
    "type": "normal",
    "title": "twify",
    "onclick": function(info, tab) {
      // 省略
    }
  });
})();
っていうような感じでやってる訳なんだけれども、manifest.jsonにてbackground.jsのpersistentをfalseにするとどうなるか。結論は動かない
- Event Pagesの場合、chrome.contextMenus.createにidオプションを指定する必要あり
 - Event Pagesの場合にはonclickは作用しない。っていうかエラーになりchrome.contextMenus.onClickedを使えと怒られる
 
つまり
(function() {
  chrome.contextMenus.create({
    "id": "twiffy_ctxmenu",
    "type": "normal",
    "title": "twify",
    "contexts": ["page"]
  });
  chrome.contextMenus.onClicked.addListener(function(info, tab) {
    // 省略
  });
})();
というようにしないといけない模様。まぁ普通に https://developer.chrome.com/extensions/contextMenus.html なマニュアルに公式的に書かれているので