Chrome扩展:Chrome.tabs.executeScript不工作

Chrome Extension: chrome.tabs.executeScript not working

本文关键字:Chrome 工作 executeScript tabs 扩展      更新时间:2023-09-26

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

background.js中,将chrome.tabs.executeScript包装在以下位置:

chrome.tabs.onUpdated.addListener(function(tab) {
    chrome.tabs.executeScript({
        file: '/scripts/runsOnPageLoad.js'
    }); 
});

我无法让程序化注入工作,所以我只是在manifest.json的content_scripts字段中指定了它(https://developer.chrome.com/extensions/content_scripts#registration)

您应该添加权限"activeTab"。更多信息https://developer.chrome.com/extensions/content_scripts#pi

必须如下所述:

chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {
chrome.tabs.executeScript({
        code:"alert('Any Javascript code comes here !');"
    });

});

注意:可以在后台脚本中执行,不要忘记在manifest.json 中允许必要的权限