我有一个简单的插件,可以做这样的事情:
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,所以它必须是我在这里遗漏的小东西…
发布于 2012-06-29 23:07:33
请注意,此答案中最初建议的chrome.extension.onRequest chrome.extension.sendRequest**,和方法已从Chrome 33起弃用。**
你应该使用
chrome.extension.onRequest而不是
chrome.extension.onMessage在后台页面或任何其他扩展脚本中:
chrome.tabs.sendRequest而不是
chrome.tabs.sendMessage(文档已过时...提醒google团队;) )
发布于 2012-10-11 16:12:47
顺便说一句: Yandex浏览器(主要面向俄罗斯人)也是基于Chromium still (截至2012年11月10日,版本)。1.0)具有.*Request方法,而不是.*Message。非常感谢Ciprian Amariei的提示,它为我节省了很多时间!
PS:这实际上应该是对Ciprian Amariei的回答的评论,但不幸的是,我还不能留下评论,我认为这些信息对那些为Yandex浏览器开发扩展的人非常有帮助。
发布于 2013-01-21 16:05:21
请确保您使用的是最新的Google Chrome版本。旧版本没有chrome.extension.onMessage接口。
https://stackoverflow.com/questions/11246646
复制相似问题