这个想法很简单。打开一个窗口,然后在该新窗口上调用chrome.tabs.executeScript。
不幸的是,除了打开一个新窗口之外它什么也没做。
function openc(url) {
window.open(url);
chrome.tabs.executeScript(null, {file: "removeContent.js"});
console.log("hi");
}
document.addEventListener('DOMContentLoaded', function () {
openc("http://www.asdf.com/");
});
答案 0 :(得分:0)
首先,请确保您已在页面上运行host permissions。
如果您始终希望在特定页面上运行脚本,则只需使用内容脚本registration via the manifest file:
"content_scripts": [
{
"matches": ["http://example.com/*"],
"js": ["open-asdf.js"]
},
{
"matches": ["http://www.asdf.com/*"],
"js": ["removeContent.js"]
}
],
如果要为新页面动态执行内容脚本,则应使用chrome.tabs.create
方法打开新选项卡,然后在回调中插入脚本。这些方法只能在扩展程序中使用,因此请确保代码在background / event / popup / options / ..页面上运行。
chrome.tabs.create({
url: 'http://www.asdf.com/'
}, function(tab) {
chrome.tabs.executeScript(tab.id, {file: "removeContent.js"}, function() {
if (chrome.runtime.lastError) {
console.error(chrome.runtime.lastError.message);
}
});
});