我正在开发一个 Google Chrome 扩展。我的目的是将消息从 script1.js 发送到 script2.js。这是我在manifest.json中写的内容:
{
"matches": ["https://www.google.fr/"],
"css": ["styles.css"],
"js": ["script1.js"]
},
{
"matches": ["my_website.html"],
"css": ["styles.css"],
"js": ["script2.js"]
},
这是我在 script1.js 中编写的内容:
chrome.runtime.sendMessage('你好世界!!!!!!');
在 script2.js 中:
chrome.runtime.onMessage.addListener(函数(响应,发送者,sendResponse){
警报(响应);
} );
我认为我做得不对,我想我必须使用background.js,但我不知道如何做。
首先十分感谢。
正如你所说,你必须使用后台脚本。例如:
script1:
chrome.runtime.sendMessage({from:"script1",message:"hello!"});
背景.js
var tab2id;
chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {
if (message.from == "script2") {
tab2id = sender.tab.id;
}
if (message.from == "script1"){
chrome.tabs.sendMessage(tab2id,message);
}
});
script2.js
chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {
alert("Script1 says: " + message.message);
});
chrome.runtime.sendMessage({from:"script2"});
请记住在清单中包含您的后台脚本:
"background": {
"scripts": ["background.js"]
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)