【问题标题】:Chrome messaging: chrome.runtime.sendMessage not working on the newest release 49Chrome 消息:chrome.runtime.sendMessage 在最新版本 49 上不起作用
【发布时间】:2016-03-08 02:04:17
【问题描述】:

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

不工作的部分是消息传递。

背景页面:

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

chrome.runtime.sendMessage({info:"this is a test"});

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

我该如何解决这个问题?

【问题讨论】:

  • 您是否尝试过调试。您在控制台中遇到什么错误?尝试文档中编写的完整语法,即function(msg, sender, sendResponse),看看是否可行。
  • @NikhilSharma 我想告诉你它有效,但它没有。我也希望有某种错误,但遗憾的是,它不会返回任何东西。还有其他建议吗?
  • 让我在我的机器上重现这个,然后我会告诉你的。
  • @NikhilSharma 谢谢!确保至少有版本:49.0.2623.75 m。从内容脚本发送消息时确实会进入,但从同一后台页面调度时,它们似乎不会被侦听器捕获。

标签: javascript google-chrome google-chrome-extension google-chrome-app


【解决方案1】:

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

【讨论】:

  • 谢谢!但是如何从后台页面中触发事件并在后台页面中捕获它?
  • @hex20dec 如果您在同一页面上,您可以直接调用函数,无需消息传递。无论如何,如果您愿意,可以使用例如标准事件 API:developer.mozilla.org/en-US/docs/Web/Guide/Events/…
猜你喜欢
  • 2019-09-25
  • 1970-01-01
  • 2023-04-07
  • 2023-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-03
  • 1970-01-01
相关资源
最近更新 更多