chrome.extension.onMessage未定义
我有一个简单的插件,只是做这样的事情:
chrome.extension.onMessage.addListener(function(msg, _, sendResponse) {
log("Got message from background page: " + msg);
});
不幸的是,当我的面板加载显示以下错误:
TypeError: Cannot call method 'addListener' of undefined
并根据我的测试chrome.extension.onMessage
是undefined
根据此页面http://code.google.com/chrome/extensions/messaging.html我应该可以从我的页面访问此Chrome API,因此它必须是我在这里缺少的一些小东西......
请注意,本回答中最初建议的方法chrome.extension.onRequest
和chrome.extension.sendRequest
,自Chrome 33起弃用。
你应该使用
chrome.extension.onRequest
代替
chrome.extension.onMessage
在后台页面或其他扩展脚本中:
chrome.tabs.sendRequest
代替
chrome.tabs.sendMessage
(文档已过时...警惕Google团队;))
简单说一句:Yandex浏览器(主要面向俄罗斯)也基于Chromium(截至2012年10月11日,版本1.0)具有。*请求方法,而不是。*消息。 非常感谢Ciprian Amariei的提示,它为我节省了很多时间!
PS:这实际上应该是对Ciprian Amariei的回答的评论,但不幸的是我还不能留下评论,我认为这些信息可能对开发Yandex浏览器扩展的人非常有用。
确保您使用的是最新的谷歌浏览器版本。 旧版本没有chrome.extension.onMessage API。
链接地址: http://www.djcxy.com/p/10931.html