我在进行谷歌Chrome扩展内部通信的探索,并使用了以下指南:https://developer.chrome.com/extensions/messaging
它曾经有效,但现在我遇到了一个错误:
我无论尝试什么,都无法修复那个错误。据我所理解,“Cannot read property of undefined” 意味着 'tabs' 未定义,但我不明白为什么它在 Google 的示例中有效而在这里无效。
另一个问题:
如果我正在尝试将其发送到 tabs [1],这是否意味着它是第二个位置的选项卡,或者我解释错了?
我比较了我的代码和谷歌Chrome代码,但似乎找不到导致出现该错误的原因。在tabs.query响应中出现错误:TypeError: 无法读取未定义的属性'id'
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
chrome.tabs.sendMessage(tabs[1].id, {fen: request.needMove}, function(response) {
//console.log(response.farewell);
});
});
这是我发送的位置:
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
console.log("recv FEN : " + FEN);
FEN = request.fen;
setCookie("FEN_SET", "true" , 1);
setFEN(FEN);
});
我无论尝试什么,都无法修复那个错误。据我所理解,“Cannot read property of undefined” 意味着 'tabs' 未定义,但我不明白为什么它在 Google 的示例中有效而在这里无效。
另一个问题:
如果我正在尝试将其发送到 tabs [1],这是否意味着它是第二个位置的选项卡,或者我解释错了?
chrome.tabs.query({active: true, currentWindow: true},...)
将返回一个空数组。尝试扩大查询范围,以便返回您正在查找的所有选项卡。 - Sarah Elan