Api chrome.extension.onMessage未定义

Api chrome.extension.onMessage未定义,api,google-chrome,google-chrome-extension,Api,Google Chrome,Google Chrome Extension,我有一个简单的插件,它的功能如下: chrome.extension.onMessage.addListener(function(msg, _, sendResponse) { log("Got message from background page: " + msg); }); 不幸的是,在加载“我的面板”时,会显示以下错误: TypeError: Cannot call method 'addListener' of undefined 根据我的测试,chrome.exten

我有一个简单的插件,它的功能如下:

chrome.extension.onMessage.addListener(function(msg, _, sendResponse) {
    log("Got message from background page: " + msg);
});
不幸的是,在加载“我的面板”时,会显示以下错误:

TypeError: Cannot call method 'addListener' of undefined
根据我的测试,
chrome.extension.onMessage
未定义的


根据这个页面,我应该能够从我的页面访问这个ChromeAPI,所以它必须是我在这里缺少的一些小东西

请注意,从chrome 33开始,chrome.extension.onRequest和chrome.extension.sendRequest的方法就被弃用了。


你应该使用

chrome.extension.onRequest
而不是

chrome.extension.onMessage
在后台页面或任何其他扩展脚本中:

chrome.tabs.sendRequest
而不是

chrome.tabs.sendMessage

(文档已经过时…提醒谷歌团队;)

只是一个旁注:Yandex浏览器(主要面向俄罗斯人)也基于Chromium still(截至2012年10月11日,版本1.0)具有。*请求方法,而不是。*消息。非常感谢Ciprian Amariei的提示,它为我节省了很多时间


PS:这实际上应该是对Ciprian Amariei的回答的评论,但不幸的是,我还不能留下评论,我认为这些信息对那些为Yandex浏览器开发扩展的人非常有帮助。

确保您使用的是最新的Google Chrome版本。旧版本没有chrome.extension.onMessage API。

我遇到了与@ganorosendRequest相同的问题,onRequest已被弃用。