将消息从Chrome扩展程序传递到网页

dbk*_*bkk 4 javascript jquery javascript-events google-chrome-extension

我需要在Chrome扩展程序中传递消息(引发事件),并让网页上的JavaScript对此做出反应。

content_script.js扩展名中,应该有一个类似

raiseXYZevent(data);
Run Code Online (Sandbox Code Playgroud)

网页上的JavaScript http://foo.com/mypage.html应该执行处理程序

 function processXYZevent(data) { ... }
Run Code Online (Sandbox Code Playgroud)

问题在于扩展中的内容脚本无法直接与网页上的JavaScript交互(只能修改DOM)。有没有办法从扩展名中进行DOM更改,以某种方式从网页中检测到它们并调用processXYZevent

Mat*_*ner 5

由于内容脚本和网页共享相同的DOM,因此您可以用来postMessage在它们之间发送消息。该浏览器的API文档中举例详细说明了这一点。

  • 该示例将消息从网页发送到扩展程序。它的作用是否相反? (3认同)