我束手无策,试图弄清楚为什么我无法在我的 Chrome 扩展程序中传递消息。
请记住,上个月我对 javascript 完全陌生,并且我一直在通过在线视频自学(我的编码背景完全是 java)。
我想要的只是让我的后台脚本能够通知我的内容脚本发生了一些事情,然后随后在内容脚本中执行一些代码。正如你在下面看到的,我的代码设置与文档相同 https://developer.chrome.com/extensions/messaging,但它不起作用!
以下是我加载扩展程序时遇到的错误:
Errors https://i.stack.imgur.com/W47Jr.png
清单.json
{
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["content.js"]
}
],
"background": {
"scripts": ["background.js"],
"persistent": true
},
"permissions": [
"activeTab",
"tabs",
"storage"
],
"manifest_version": 2,
"name": "eSports YT Viewer",
"version": "1.0.0",
"description": "An eSports viewer for youtube"
}
背景.js
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
chrome.tabs.sendMessage(tabs[0].id, {greeting: "hello"}, function(response) {
console.log(response.farewell);
});
});
内容.js
chrome.runtime.onMessage.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"});
}
});
非常感谢任何帮助!谢谢。