我在下面的代码中遇到了这个错误:
Could not establish connection. Receiving end does not exist.
我的background.js
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
chrome.tabs.sendMessage(tabs[0].id, {greeting: "hello"}, function(response) {
if(chrome.runtime.lastError) {
console.error(chrome.runtime.lastError.message);
return;
}
console.log(response.farewell);
console.log('ytr');
});
});
和我的contentScript.js
chrome.extension.onMessage.addListener(function (request, sender, sendResponse) {
alert(request.greeting);
});
我的manifest.json
的一部分 "background": {
"scripts": ["background.js"]
},
"permissions": [
"https://*/*",
"http://*/*",
"activeTab",
"storage",
"tabs"
],
"content_scripts": [
{
"matches": ["https://*/*", "http://*/*"],
"js": ["jquery.js","contentScript.js"],
"css": ["style.css"]
}
]
我想知道我的错误是什么。
答案 0 :(得分:0)
当devtools窗口处于活动状态时,您可能正在运行此代码。我可以通过从后台页面控制台运行该代码来重现该问题,但不能在常规选项卡处于活动状态时运行。尝试运行console.log(“URL =”+ tabs [0] .url)以查看活动选项卡是否是您真正期望的选项卡。