Javascript 扩展错误。未选中的runtime.lastError:无法建立连接。接收端不存在
当我将数据从内容脚本发送到后台脚本并等待响应时,更改选项卡时出错。 当我在同一个选项卡上,直到我从后台脚本得到响应,一切都很好 错误信息: 未选中的runtime.lastError:无法建立连接。接收端不存在 content.js:Javascript 扩展错误。未选中的runtime.lastError:无法建立连接。接收端不存在,javascript,tabs,runtime-error,opera,Javascript,Tabs,Runtime Error,Opera,当我将数据从内容脚本发送到后台脚本并等待响应时,更改选项卡时出错。 当我在同一个选项卡上,直到我从后台脚本得到响应,一切都很好 错误信息: 未选中的runtime.lastError:无法建立连接。接收端不存在 content.js: window.addEventListener('load', (event) => { GetBgScriptStatus(); }); /* WORK with background scripts */ function GetBgScri
window.addEventListener('load', (event) => {
GetBgScriptStatus();
});
/* WORK with background scripts */
function GetBgScriptStatus() {
var message = { request: "GetBgScriptStatus" };
SendMessageToBackgroundScript(message);
console.log("send to bg script: " + message.request);
}
function SendMessageToBackgroundScript(message) {
chrome.runtime.sendMessage(message, function (response) {});
}
chrome.runtime.onMessage.addListener(
function (request, sender, sendResponse) {
var message = request;
if (message.context != null || message.request != null) {
if(message.context == "AnswerFromBgScript"){
console.log("response from bg script: " + message.data);
}
}
});
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
var message = request;
if(message.request === "GetBgScriptStatus")
{
let timeDelay = 4000;
const interval = setTimeout(function(){
var messageForMainScript = {context: "AnswerFromBgScript"};
SendMessageToMainScript(messageForMainScript);
}, timeDelay);
}
});
function SendMessageToMainScript(messageForMainScript)
{
// Send message to content script
chrome.tabs.query(
{active: true, currentWindow: true},
function(tabs)
{
chrome.tabs.sendMessage
(
tabs[0].id,
messageForMainScript,
function(response)
{
//console.log(response.farewell)
}
)
}
)
// .END (Send message to content script)
}
background.js:
window.addEventListener('load', (event) => {
GetBgScriptStatus();
});
/* WORK with background scripts */
function GetBgScriptStatus() {
var message = { request: "GetBgScriptStatus" };
SendMessageToBackgroundScript(message);
console.log("send to bg script: " + message.request);
}
function SendMessageToBackgroundScript(message) {
chrome.runtime.sendMessage(message, function (response) {});
}
chrome.runtime.onMessage.addListener(
function (request, sender, sendResponse) {
var message = request;
if (message.context != null || message.request != null) {
if(message.context == "AnswerFromBgScript"){
console.log("response from bg script: " + message.data);
}
}
});
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
var message = request;
if(message.request === "GetBgScriptStatus")
{
let timeDelay = 4000;
const interval = setTimeout(function(){
var messageForMainScript = {context: "AnswerFromBgScript"};
SendMessageToMainScript(messageForMainScript);
}, timeDelay);
}
});
function SendMessageToMainScript(messageForMainScript)
{
// Send message to content script
chrome.tabs.query(
{active: true, currentWindow: true},
function(tabs)
{
chrome.tabs.sendMessage
(
tabs[0].id,
messageForMainScript,
function(response)
{
//console.log(response.farewell)
}
)
}
)
// .END (Send message to content script)
}