我一直在寻找答案将近一个星期,但是在阅读了所有 stackoverflow 项目后,我似乎无法找到适合我的解决方案。
我遇到的错误是:
Port: Could not establish connection. Receiving end does not exist. lastError:30 set lastError:30 dispatchOnDisconnect messaging:277
文件夹布局:
img
developer_icon.png
js
sidebar.js
main.js
jquery-2.0.3.js
manifest.json
我的 manifest.json 文件看起来像这样(它是第 2 版):`
"browser_action": {
"default_icon": "./img/developer_icon.png"
},
"content_scripts": [
{
"matches": ["*://*/*"],
"js": ["./js/sidebar.js"],
"run_at": "document_end"
}
],
"background" : {
"scripts" : ["./js/main.js","./js/jquery-2.0.3.js"]
},
我想处理用户点击扩展图标,这样我就可以在现有网站中注入一个侧边栏(因为我想开发的扩展需要这么多空间)。所以在 main.js :
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.getSelected(null, function(tab){
chrome.tabs.sendMessage(
//Selected tab id
tab.id,
//Params inside a object data
{callFunction: "toggleSidebar"},
//Optional callback function
function(response) {
console.log(response);
}
);
});
});
在 sidebar.js 中:
chrome.runtime.onMessage.addListener(function(req,sender,sendResponse){
console.log("sidebar handling request");
toggleSidebar();
});
但由于错误,我永远无法在控制台中看到 console.log。有人知道我做错了什么吗?
提前致谢!