Javascript 基本google chrome扩展消息传递不起作用
我一直试图让chrome扩展的消息传递正常工作,但console.logresponse给了我未定义的消息。我已经查看了有关消息传递和stackoverflow的文档,但在我的情况下,它不起作用。我不知道为什么 myscript.js:Javascript 基本google chrome扩展消息传递不起作用,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,我一直试图让chrome扩展的消息传递正常工作,但console.logresponse给了我未定义的消息。我已经查看了有关消息传递和stackoverflow的文档,但在我的情况下,它不起作用。我不知道为什么 myscript.js: chrome.extension.sendRequest({greeting: "hello"}, function(response) { console.log(response); return true; }); background.
chrome.extension.sendRequest({greeting: "hello"}, function(response) {
console.log(response);
return true;
});
background.js:
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
sendResponse({farewell: "goodbye"});
return true;
});
manifest.json
{
"manifest_version": 2,
"name": "nameasf",
"description": "asfasaf",
"version": "1.0",
"permissions": [
"tabs",
"http://somedomain.com/"
],
"content_scripts": [
{
"matches": ["http://somedomain.com/*"],
"css": ["mystyles.css"],
"js": ["jquery.js", "myscript.js"],
"all_frames": true
}
],
"background": {
"scripts": ["background.js"]
},
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
}
}
您正在使用过时的chrome.extension.sendRequest。 改用 注意:您已经在使用新的,因此不必在侦听器端更改任何内容 有几个旁注: 对于这里展示的代码,您不需要任何权限,尤其是强大的tabs权限。 如果可能的话,最好使用非持久性背景页面,因为它们对资源更加友好。
可能是复制品啊,是的,来自不同来源的过度剪切和粘贴让我搞砸了无论如何,最初的问题是我用一个扩展重新加载程序重新加载了扩展,而不是从chrome://extensions. 它似乎也需要重新加载权限。