用户单击我的上下文菜单项后,我需要执行脚本。
因此,出于这个目的,我从后台 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"
}
}
先感谢您。