- 1. content_script.js 和 background.js 之间的通信:
- 使用
chrome.runtime.sendMessage
发送消息,然后在 background.js 中使用chrome.runtime.onMessage
监听消息并作出相应处理。 - 使用
chrome.extension.sendMessage
发送消息,然后在 background.js 中使用chrome.extension.onMessage
监听消息并作出相应处理。 - 使用
chrome.tabs.sendMessage
发送消息,然后在 background.js 中使用chrome.runtime.onMessage
或chrome.extension.onMessage
监听消息并作出相应处理。
- 2. content_script.js 和 popup.js 之间的通信:
- 使用
chrome.runtime.sendMessage
发送消息,然后在 popup.js 中使用chrome.runtime.onMessage
监听消息并作出相应处理。
- 3. background.js 和 popup.js 之间的通信:
- 使用
chrome.runtime.sendMessage
发送消息,然后在 popup.js 中使用chrome.runtime.onMessage
监听消息并作出相应处理。
具体的通信示例代码如下所示:
在 content_script.js 中发送消息:
chrome.runtime.sendMessage({ message: "Hello from content script!" });
在 background.js 或 popup.js 中接收消息:
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {if (request.message === "Hello from content script!") {console.log("Message received: " + request.message);}
});
在 popup.js 中发送消息:
chrome.runtime.sendMessage({ message: "Hello from popup!" });
在 background.js 中接收消息:
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {if (request.message === "Hello from popup!") {console.log("Message received: " + request.message);}
});