问题描述
我想创建一个新选项卡并使用 manifest V3 修改 Chrome 扩展的 background.js 中的 DOM:
chrome.tabs.create({ url : 'http://example.com'},function(newTab) {
document.body.innerHTML = "Example.com website content modified in tab "+ newTab.id + "!";
}
但是为什么这没有任何作用,以及如何解决这个问题?
以下也不起作用:
chrome.tabs.create({ url : 'http://example.com'},function(newTab) {
function myScript(){
document.body.innerHTML = "Example.com website content modified in tab "+ newTab.id + "!";
}
chrome.scripting.executeScript( {
target: {tabId: newTab.id},function: myScript,});
}
解决方法
background.js 无法访问页面的 dom,您必须运行内容脚本并使用 messaging 在后台脚本和内容脚本之间进行通信。