我一直在研究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"
});
有人可以帮忙吗?
答案 0 :(得分:0)
根据此forum,您无法使用chrome.runtime.connect
向DevTools上下文中运行的扩展页发送消息。从后台页面与DevTools进行通信的最佳方式是使用port.postMessage()
从DevTools页面打开一个端口,稍后在后台页面中使用{{1}}。
答案 1 :(得分:0)
如果您有兴趣,我创建了一个小型库,可以为您完成所有工作,并让您轻松地在任何扩展部分(特别是在您的情况下,从背景到开发工具)发送消息。
您可以在此处查看:chrome-ext-messenger
如果您对如何使用它有任何疑问,请随时与我联系。