chrome.runtime.sendMessage在扩展的后台页面内

时间:2014-07-03 10:46:53

标签: google-chrome-extension

我想在扩展程序的后台页面内的组件之间使用chrome消息传递。 但它很奇怪。

此作品

chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
  console.log('message received', request);
});

chrome.runtime.sendMessage('test1');

但是当我向chrome.runtime.sendMessage添加回调时,无效

chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
  console.log('message received', request);
  sendResponse(123);
});

chrome.runtime.sendMessage('test2', function(data) {
  console.log('resp:', data, chrome.runtime.lastError);
});

并且lastError包含无法建立连接。接收端不存在

有人可以解释这种奇怪的行为吗?

更新
从Chrome 49开始,问题中的两个片段都不起作用,因为第一个片段的工作原理是一个错误(crbug.com/479425) 感谢rob-w

0 个答案:

没有答案