我正在编写chrome扩展程序,并希望从我的后台脚本执行内容脚本。后台脚本执行,但内容不执行。以下是相关的代码块:
manifest.json
:
"background": {
"scripts": ["js/app/background.js"],
"persistent": true
},
"permissions": [
"identity",
"tabs",
"activeTab",
"*://*/*"
]
background.js
:
console.log('background')
chrome.tabs.executeScript(null, {file: "content.js"})
content.js
:
console.log('content')
当我检查元素时,控制台已登录background
,但不是content
。常规控制台也没有任何记录。我做错了什么?
答案 0 :(得分:3)
在background.js
中将chrome.tabs.executeScript
包裹在此:
chrome.tabs.onUpdated.addListener(function(tab) {
chrome.tabs.executeScript({
file: '/scripts/runsOnPageLoad.js'
});
});
答案 1 :(得分:1)
我无法使用编程注入工作,因此我刚刚在manifest.json(https://developer.chrome.com/extensions/content_scripts#registration)的content_scripts
字段中指定了它
答案 2 :(得分:0)
你应该添加权限“activeTab”。更多信息{{3p>
答案 3 :(得分:0)
必须如下所述:
chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {
chrome.tabs.executeScript({
code:"alert('Any Javascript code comes here !');"
});
});
注意:可以在后台脚本中执行,不要忘记在manifest.json中允许必要的权限