我正在尝试编写我的第一个chrome扩展,并致力于使消息传递和background.js正常工作。看起来我的background.js永远不会被调用或接收任何消息。有人可以告诉我我做错了什么吗?这是一个最小的例子:
manifest.json
{
"manifest_version": 2,
"name": "RAData",
"version": "0.1",
"background": {
"scripts": ["background.js"] },
"content_scripts": [{
"matches": [
"<all_urls>"],
"js": ["content.js"] }]
}
content.js
chrome.runtime.sendMessage("message from content");
console.log("content.js loaded");
background.js
chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {
console.log("message received");
});
console.log("background.js loaded");
我认为应该发生的是每当我加载页面时,content.js应该加载,打印&#34; content.js加载&#34;到控制台,然后用消息唤醒background.js。然后,Background.js应该打印&#34;收到消息&#34;和&#34; background.js已加载&#34;到控制台。
相反,控制台只显示&#34; content.js已加载&#34; - 看起来像background.js中的任何代码都没有被执行过。
答案 0 :(得分:1)
您没有在控制台中查看背景页面。您可以通过点击“检查视图:”旁边的“背景页面”来访问它:chrome:// extensions