gpt4 book ai didi

google-chrome-extension - Chrome 扩展程序在控制台中抛出错误

转载 作者:行者123 更新时间:2023-12-04 12:34:51 24 4
gpt4 key购买 nike

我的内容脚本向 background.js 发送一条消息。在响应的回调处理程序中,我的最后一行是 "alert(alrt_msg)" .执行代码后,我收到警告框,但单击“确定”后,chrome 控制台以红色显示以下内容:

Error in event handler for 'undefined': Cannot call method 'disconnect' of null TypeError: Cannot call method 'disconnect' of null
at chromeHidden.Port.sendMessageImpl (miscellaneous_bindings:285:14)
at chrome.Event.dispatch (event_bindings:237:41)
at Object.chromeHidden.Port.dispatchOnMessage (miscellaneous_bindings:250:22)

它提供的信息不多,但凭直觉我知道这个错误是因为当用户单击“确定”时某处的某些结构被垃圾收集。所以我把我的代码作为
window.setTimeout(function() { alert(alrt_msg); } , 1);
这使它在没有上述错误的情况下工作。尽管如此,在搜索文档或谷歌之后,我还是无法找到这背后的确切原因。有人可以解释一下发生了什么,以及文档是否包含执行此操作的特定方法?

最佳答案

我遇到了同样的问题。这是由于响应处理程序中调用的函数中的错误(我的代码错误)造成的。

这是我的代码:

在 background.js 中 - 聆听方

chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
var update_msg = 'test';
sendResponse({data: update_msg});
return false; // -> Add this or not add this do not matter
});
}

在发送端:
function updateObjDatabase(obj) {
chrome.runtime.sendMessage({data: obj}, function(response) {
// Update when it's done
update_msg_handler(response.data);
});
}

function update_msg_handler(msg) {
..... error code here
}

错误的代码其实是在函数 update_msg_handler中.但是 Chrome 控制台不会告诉你这些细节。如果您没有 IDE,则必须添加一些 console.log 以进行调试。

关于google-chrome-extension - Chrome 扩展程序在控制台中抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12501693/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com