Chrome消息传递:chrome.runtime.sendMessage在最新版本上不起作用49

hex*_*dec 4 javascript google-chrome google-chrome-extension google-chrome-app

我有一个Chrome扩展程序,在版本48上运行得很好,但是由于某种原因,它在49上无法运行,并且无法在其发布/更改日志中找到任何内容。

无效的部分是消息传递。

背景页面:

chrome.runtime.onMessage.addListener(function(msg, sender){
console.log(msg);
});

chrome.runtime.sendMessage({info:"this is a test"});
Run Code Online (Sandbox Code Playgroud)

这不会在版本49上输出任何内容,但会在版本48上输出任何内容。

我该如何解决?

rsa*_*hez 6

这是预期的行为。发送页面不应该接收消息。旧的行为是一个错误。这些错误报告中对此进行了讨论:479425 479951

  • @ hex20dec如果您在同一页面上,则可以直接调用函数,而无需传递消息。无论如何,如果您愿意,您可以使用例如标准的Event API:https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events (2认同)