我有一个Chrome扩展程序,可以根据按钮切换执行某些操作(状态0/1)。
现在的问题是,它改变了红色/蓝色,但还有一些其他需要发生的动作。我找不到在Chrome.Tabs.ExecuteScript中引用单独的多行脚本或文件的方法。我在网上找到的每个例子都只有一个命令,对我来说没用!跨线分割不起作用。将有FOR循环,IF语句和我想要注入的其他复杂性。
需要采取的措施: (状态= 0)红色背景,使所有IMG标签不可见等。 (状态= 1)蓝色背景,使所有IMG标签可见,等等。
background.js
var state = 0;
function activate()
{
if (state == 0)
{
chrome.tabs.executeScript({
code: 'document.body.style.backgroundColor="red"'
});
state = 1;
}
else
{
chrome.tabs.executeScript({
code: 'document.body.style.backgroundColor="blue"'
});
state = 0;
}
}
chrome.browserAction.onClicked.addListener(activate);
答案 0 :(得分:3)
使用您的命令创建单独的文件,并使用
执行它chrome.tabs.executeScript({
file: 'content1.js'
});
如果您需要传递参数,请参阅this question。
替代解决方案是使用单个内容脚本并使用Messaging将命令传递给它。
如果您的方法注册了侦听器,请确保仅执行一次addListener
。