ユーザーがコンテキストメニュー項目をクリックしたら、スクリプトを実行する必要があります。
そのため、バックグラウンドjsからコンテキストメニューを作成しました。
chrome.contextMenus.create({"title": title, "contexts": contexts,
"onclick": genericOnClick});
期待通りに表示されます。後でgenericOnClickから、スクリプトを実行しようとします。
chrome.tabs.executeScript(null, {code: "console.log('test 1');"}, function() {
console.log("test 2");
});
「テスト2」はコンソールに出力されますが、「テスト1」は出力されないことがわかります。私は何が間違っているのですか?console.log文を別のjsファイルに追加しようとしましたが、それも印刷できませんでした。
chrome.tabs.executeScript(null, {"file": 'content_script.js'}, function() {
console.log("test 2");
});
注:私のcontent_script.jsはマニフェストで定義されていません。私のマニフェストは次のようになります。
{
"name": "My First Extension",
"version": "1.0",
"manifest_version": 2,
"description": "Sample extension",
"page_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"permissions": [
"http://*/*",
"https://*/*",
"tabs",
"contextMenus"
],
"background": {
"scripts": ["sample.js"]
},
"icons": {
"16": "icon16.png"
}
}
前もって感謝します。