gpt4 book ai didi

javascript - 消息未在内容和后台脚本文件之间传递

转载 作者:行者123 更新时间:2023-12-03 12:36:21 25 4
gpt4 key购买 nike

我正在尝试将消息从 background.js 发送到 contentscript 文件 script.js。下面是代码

script.js

chrome.runtime.onMessage.addListener(function (msg, sender, sendResponse) {
// alert('Message from View:\n'
// + JSON.stringify(msg));
alert(msg);
if (msg.method === 'sendHTML')
{
//process the return code

sendResponse({ data: "Your DOM is here"});
}
});

背景.js

chrome.browserAction.onClicked.addListener(function (tab)
{
// var url = tab.url.toLowerCase();
// if(url.indexOf("middlecoin") == -1)
// alert("You are not on MiddleCoin Page");
// else
// chrome.tabs.create({ url: loaderURL + tab.id });
alert("Clicked Call");
chrome.runtime.sendMessage({method: "sendHTML"}, function(response) {
alert(response.data);
});

});

警报response.data)未被调用。我哪里做错了?

让我告诉你整个扩展中没有 html 文件

最佳答案

您需要使用chrome.tabs.sendMessage而不是 chrome.runtime.sendMessage 将消息从后台页面发送到内容脚本。要将消息发送到当前选项卡,您可以使用传递给 browserAction.onClicked 监听器的选项卡对象:

chrome.browserAction.onClicked.addListener(function (tab) {
chrome.tabs.sendMessage(tab.id, {method: "sendHTML"}, function(response) {
alert(response.data);
});
});

关于javascript - 消息未在内容和后台脚本文件之间传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23721221/

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