chrome.runtime
和 chrome.tabs
是 Chrome 扩展开发中两个不同的 API,它们各自有不同的用途和功能。
chrome.runtime
-
全局上下文:
chrome.runtime
主要用于处理扩展的全局上下文,如背景脚本、弹出窗口等。 -
消息传递:它提供了在扩展的不同组件(如内容脚本、背景脚本、弹出窗口等)之间进行消息传递的方法,例如
chrome.runtime.sendMessage
和chrome.runtime.onMessage.addListener
。 -
生命周期事件:你可以监听扩展的各种生命周期事件,如安装、更新、卸载等。
-
获取扩展信息:你可以使用
chrome.runtime.getManifest()
来获取扩展的manifest.json
文件中的信息。 -
错误处理:
chrome.runtime.lastError
可用于检查上一个 API 调用是否有错误。
chrome.tabs
-
标签操作:
chrome.tabs
主要用于操作浏览器标签。你可以创建、更新、移动、关闭标签等。 -
标签查询:你可以使用
chrome.tabs.query
来查找符合特定条件的标签。 -
消息传递:与
chrome.runtime.sendMessage
不同,chrome.tabs.sendMessage
允许你向特定标签的内容脚本发送消息。 -
脚本注入:你可以使用
chrome.tabs.executeScript
来在特定标签上执行脚本。 -
获取当前标签:你可以使用
chrome.tabs.getCurrent
或chrome.tabs.query
来获取当前活动标签的信息。 -
标签事件:你可以监听各种与标签相关的事件,如标签创建、更新、激活、移动等。
总体来说,chrome.runtime
主要用于处理扩展的全局逻辑和生命周期,而 chrome.tabs
主要用于操作和管理浏览器标签。两者都有消息传递的功能,但用途和适用场景有所不同。