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 なマニュアルに公式的に書かれているので