Google浏览器插件是否支持插件内通信
正文介绍
1. 插件内部脚本的通信:popup和background运行在插件上下文中,两者之间可直接通信。例如,在popup.js中通过`chrome.extension.getBackgroundPage()`获取background页的window对象,然后调用其方法或传递数据来实现交互。
2. web页面与content-script的通信:可通过`window.addEventListener`和`window.postMessage`完成。在web页面中添加事件监听器,content-script通过`postMessage`发送消息,web页面接收并处理。
3. 插件内部脚本与content-script的通信:通过`chrome.runtime.sendMessage`和`chrome.runtime.onMessage.addListener`进行。content-script向插件内部脚本发送消息时,使用`chrome.runtime.sendMessage`;插件内部脚本向content-script发送消息时,需先获取tabId,再使用`chrome.tabs.sendMessage`。
1. 插件内部脚本的通信:popup和background运行在插件上下文中,两者之间可直接通信。例如,在popup.js中通过`chrome.extension.getBackgroundPage()`获取background页的window对象,然后调用其方法或传递数据来实现交互。
2. web页面与content-script的通信:可通过`window.addEventListener`和`window.postMessage`完成。在web页面中添加事件监听器,content-script通过`postMessage`发送消息,web页面接收并处理。
3. 插件内部脚本与content-script的通信:通过`chrome.runtime.sendMessage`和`chrome.runtime.onMessage.addListener`进行。content-script向插件内部脚本发送消息时,使用`chrome.runtime.sendMessage`;插件内部脚本向content-script发送消息时,需先获取tabId,再使用`chrome.tabs.sendMessage`。
相关阅读