我想在扩展程序的后台页面内的组件之间使用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。