Chrome APIs (chorme.runtime and chrome.tabs)
· 2 min read
以下是一个使用 Mermaid 语法绘制的 Chrome 扩展各组件间调用关系的流程图总结:
关键调用关系说明:
- UI 与 Background:
- 单向调用:
chrome.runtime.sendMessage
- 双向通信:通过
chrome.runtime.onMessage
监听
- Background 与 Content Script:
chrome.tabs.sendMessage
(需指定 tabId)chrome.runtime.sendMessage
返回响应
- Content Script 与 Web Page:
- 通过
window.postMessage
和window.addEventListener
通信
- chrome.tabs API:
- 由 UI 或 Background 调用管理标签页
- 需要
tabs
权限
- chrome.runtime:
- 作为全局事件总线(所有组件都可监听
onMessage
) - 提供
getURL
等基础方法
- 跨组件通信模式:
权限要求:
tabs
权限:用于 chrome.tabs.* APIhost_permissions
:content script 注入权限
这个流程图展示了 Chrome 扩展中主要组件间的典型通信路径,实际使用时可能需要根据具体功能调整(如使用长连接chrome.runtime.connect
代替单次消息)。