我有一个标签,其中包含以下内容:
<meta http-equiv="refresh" content="0; URL='whatsoever'" />
我还有一个正在运行的插件,它使用这种技术注册每个选项卡:
chrome.tabs.onUpdated.addListener(doStuff);
doStuff 函数向选项卡发送一条消息:
function doStuff(tabId, changeInfo, tab){
chrome.tabs.sendMessage(tabId, {'message': 'content'}, function(response){
doOtherStuff(response);
});
}
我注册了一个脚本(此处未显示),并且在该脚本中,发生了这种情况:
function receiveMessage(request, sender, sendResponse){
sendResponse({'content': 'responseData'});
}
chrome.extension.onMessage.addListener(receiveMessage);
我的问题是由于瞬时刷新,响应超时,控制台出现以下错误:
无法发送响应:如果您想在侦听器返回后发送响应(消息由扩展 XYZ 发送),则 chrome.extension.onMessage 侦听器必须返回 true。
为什么会这样,我该如何规避这个问题?提前致谢。