Chrome扩展程序:chrome.tabs.executeScript无效

时间:2014-10-25 17:52:27

标签: javascript google-chrome google-chrome-extension content-script

我正在编写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。常规控制台也没有任何记录。我做错了什么?

4 个答案:

答案 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中允许必要的权限