如何解决从注入的代码到后台脚本的 SendMessage
我已将一个脚本(存储在本地主机上)注入到网页中。
chrome.tabs.executeScript(null,{
file: 'js/content.js',/* my content script */ },() => {
connect(show_floater) //this is where I call my function to establish a connection });
});
chrome.runtime.sendMessage({ text: "am I connected?" });
这段代码是困扰我的部分。我正在尝试向后台脚本发送消息。我收到此错误:
未捕获的类型错误:runtime.sendMessage 调用错误(可选字符串 extensionId、任何消息、可选对象选项、可选函数 responseCallback):从网页调用的 chrome.runtime.sendMessage() 必须指定扩展 ID(字符串)它的第一个论点。 在 elemRelease (test.js:93)
所以我尝试的是添加扩展 ID:
chrome.runtime.sendMessage('jlebkcopkekjggkknplilgflekifmjkp',{ text: "am I connected?" });
这是我的 bg 脚本的样子:
chrome.runtime.onMessage.addListener(function (msg,sender,sendResponse) {
chrome.tabs.query({ active: true,currentwindow: true },(tabs) => {
console.log('connected?');
if (msg.text == "am I connected?") {
// do stuff
});
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。