Skip to main content

Chrome APIs (chorme.runtime and chrome.tabs)

· 2 min read

以下是一个使用 Mermaid 语法绘制的 Chrome 扩展各组件间调用关系的流程图总结:

关键调用关系说明:

  1. UI 与 Background
  • 单向调用:chrome.runtime.sendMessage
  • 双向通信:通过chrome.runtime.onMessage监听
  1. Background 与 Content Script
  • chrome.tabs.sendMessage(需指定 tabId)
  • chrome.runtime.sendMessage 返回响应
  1. Content Script 与 Web Page
  • 通过window.postMessagewindow.addEventListener通信
  1. chrome.tabs API
  • 由 UI 或 Background 调用管理标签页
  • 需要tabs权限
  1. chrome.runtime
  • 作为全局事件总线(所有组件都可监听onMessage
  • 提供getURL等基础方法
  1. 跨组件通信模式

权限要求:

  • tabs权限:用于 chrome.tabs.* API
  • host_permissions:content script 注入权限

这个流程图展示了 Chrome 扩展中主要组件间的典型通信路径,实际使用时可能需要根据具体功能调整(如使用长连接chrome.runtime.connect代替单次消息)。