我无法让我的内容脚本与我的后台页面进行通信。我正在运行一个解压缩的扩展程序。在我的内容脚本send.js
中,我有一行
chrome.extension.sendRequest({message: "hey"}, function(response){});
和我的background.html
看起来像:
<script>
/* the coffeescript way, but I also tried without the
* coffeescript wrappers and got the same errors. */
(function() {
var dispatchRequest;
dispatchRequest = function(request, sender, sendResponse) {
console.log("request dispatch called");
}
chrome.extension.onRequest.addListener(dispatchRequest);
}).call(this);
</script>
我一直收到Port error: Could not establish connection
错误。
只是为了找到错误,我将background.html
更改为
<script>
console.log("Background html is running!");
</script>
然后我重新加载了该页面并检查了Chrome控制台,但没有输出。
这是我的(缩写)manifest.json
:
{
"background-page": "background.html",
"content_scripts": [{
"all_frames": true ,
"css": [ "style.css" ] ,
"js": [ "send.js" ] ,
"matches": [ "http://mail.google.com/*" ,
"https://mail.google.com/*" ]
}],
"permissions": [ "tabs", "http://*/", "https://*/", "cookies" ]
}
此时我无法弄清楚如何让background.html
运行或如何让我的内容脚本与之通信。
答案 0 :(得分:1)
假设它不仅仅是转录错误,背景页面的清单键应为background_page
,而不是background-page
。