gpt4 book ai didi

javascript - 谷歌浏览器扩展 - 无法将消息从内容脚本传递到同一扩展中的弹出页面

转载 作者:行者123 更新时间:2023-11-30 08:12:47 25 4
gpt4 key购买 nike

我正在使用以下代码从内容脚本发送示例消息:

function sendjsontrue()
{

var arrCars = new Array("Toyota", "Mercedes", "BMW");
jsonStr = JSON.stringify(arrCars);
chrome.extension.sendRequest({greeting: jsonStr}, function(response){
console.log(response.farewell);
});
console.log("Message with header=greeting has been sent...");
}

我的 popup.html 中用于处理内容脚本发送的消息的代码如下 --

<script>
chrome.extension.onRequest.addListener(
function(request, sender, sendResponse) {
console.log(sender.tab ?
"from a content script:" + sender.tab.url :
"from the extension");
if (request.greeting == "hello")
sendResponse({farewell: "goodbye"});
else
sendResponse({notfarewell:"Not goodbye"}); .
});

</script>

我得到的错误如下--

Port error: Could not establish connection. Receiving end does not exist.
chrome/EventBindings:184Error in event handler for 'undefined': TypeError: Cannot read property 'farewell' of undefined
at chrome-extension://nkmkgjckmjekpbghhildcfdlnbjeglkd/obtainformdata.js:81:25
at chrome/RendererExtensionBindings:238:13
at [object Object].dispatch (chrome/EventBindings:182:28)
at Object.<anonymous> (chrome/RendererExtensionBindings:134:27)

我做错了什么?

最佳答案

您应该在后台页面而不是在弹出窗口中编写接收器代码。默认情况下,内容脚本与后台页面通信。

如果您需要体面的文档,请查看:

关于javascript - 谷歌浏览器扩展 - 无法将消息从内容脚本传递到同一扩展中的弹出页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8037470/

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