我正在尝试将消息从后台页面传递到内容脚本,但我收到此错误(来自控制台):
端口错误:无法建立连接。接收端不存在。
这是我的代码://内容脚本:
var port = chrome.extension.connect({name:"connection"});
chrome.extension.onConnect.addListener(function(port) {
port.onMessage.addListener(function(msg) {
alert('I never get to see this message...');
});
});
在 background.js 中,我首先创建一个包含内容脚本的选项卡,然后在创建选项卡后,我尝试连接到它的内容脚本
//背景.js
chrome.tabs.create({url:"http://myextension.uphero.com/"},function(tab){
var port = chrome.tabs.connect(tab.id,{name:"connection"});
console.log('port is :' +port.name);
console.log(port.onMessage);
port.postMessage({msg:"whatever"});
});
现在我知道问题不在于 manifest.json 或类似的东西(内容脚本定义正常,只是端口和连接有问题)。非常感谢任何帮助...