您需要添加背景文件。但首先您需要在manifest.json中添加一个属性,例如,
"background":{
"scripts":["background.js"]
}
现在将扩展文件夹中的文件命名为background.js,有一种方法可以将对象从背景发送到内容脚本,假设您的内容脚本名为content.js,那么您需要做的就是在background.js文件中编写此代码段
chrome.browserAction.onClicked.addListener(sendfunc);
function sendfunc(tab){
msg={txtt:"execute"};
chrome.tabs.sendMessage(tab.id,msg);
}
上面的代码正在执行的操作是将一个名为msg的对象发送到内容页面,并且此msg对象的属性txtt等于“ execute”。接下来需要做的是比较内容脚本中的值
chrome.runtime.onMessage.addListener(recievefunc);
function receivefunc(mssg,sender,sendResponse){
if(mssg.txtt==="execute"){
/*
your code of content script goes here
*/
}
}
现在,只要单击扩展图标,就会将一个名为msg的对象从后台发送到内容。如果函数“ recievefunc()”与您其余的代码匹配,则会将其txtt属性与字符串“ execute”进行比较。
注意:msg,txtt,sendfunc,receivefunc,mssg都是变量,而不是chrome关键字,因此您可以使用任何想要的东西。
希望能帮助到你。
:)