Service Worker 如何使用 sendMessage 与弹出窗口中运行的脚本进行通信?
在清单 v3 中:
- 内容脚本使用 chrome.runtime.sendMessage 与 Service Worker 对话。
- Service Worker 使用 chrome.tabs.sendMessage 与内容脚本对话。
- 内容脚本使用 chrome.runtime.sendMessage 与 popup.html 的 popup.js 对话
- popup.js 使用 chrome.tabs.sendMessage 与内容脚本对话。
- popup.js 使用 chrome.runtime.sendMessage 与 Service Worker 对话。
在这个三角形中,唯一缺少的边是 popup.js 和 Service Worker 之间。
Service Worker 如何向 popup.js 发送消息?
但使用 chrome.runtime.sendMessage 会导致“无法建立连接。接收端不存在”。
并且使用 chrome.tabs.sendMessage 需要 chrome.tabs.query,它似乎根本不返回 popup.html。