【发布时间】:2016-04-27 10:44:00
【问题描述】:
我一直在研究 chrome 扩展,它有时需要传递消息以触发当前网页上的某些事件。
我一直在使用 chrome.runtime.sendMessage 将消息从 devtool 页面发送到后台页面。在后台页面上,我正在使用 chrome.runtime.onMessage.addListener 获取这些消息,并且它正在工作。
但我无法使用此功能将消息从后台页面发送到 devtools 页面! 如何从后台页面向 devtool 页面发送一次消息?
devtool.js
chrome.runtime.onMessage.addListener(function(request){
if(request.name=="xyz")
{
alert("HI");
}
});
background.js
chrome.runtime.sendMessage({
name : "xyz"
});
有人可以帮忙吗?
【问题讨论】:
-
基于此forum,您不能使用
chrome.extension.sendMessage()向在 DevTools 上下文中运行的扩展页面发送消息。从后台页面与 DevTools 通信的最佳方式是使用chrome.extension.connect从 DevTools 页面打开一个端口,然后在后台页面中使用 port.postMessage()。 -
@abielita 请将该评论作为答案(但请注意,
extension应替换为runtime)
标签: google-chrome-extension google-chrome-devtools