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.onMessageundefined

根据此页面http://code.google.com/chrome/extensions/messaging.html我应该可以从我的页面访问此Chrome API,因此它必须是我在这里缺少的一些小东西......


请注意,本回答中最初建议的方法chrome.extension.onRequestchrome.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

上一篇: chrome.extension.onMessage is undefined

下一篇: Building a Mac .app file in Windows using Mono