选项卡

与浏览器的标签系统交互。

注意:使用清单 V3 或更高版本时,执行脚本、插入 CSS 和删除 CSS 的方法由scripting API 通过scripting.executeScript()scripting.insertCSS()scripting.removeCSS() 方法提供。

您可以使用此 API 获取打开的标签页列表,通过各种条件进行筛选,以及打开、更新、移动、重新加载和删除标签页。您无法直接使用此 API 访问标签页托管的内容,但可以使用tabs.executeScript()tabs.insertCSS() API 将 JavaScript 和 CSS 插入标签页。

您无需任何特殊权限即可使用此 API 的大部分功能。但是

  • 要访问Tab.urlTab.titleTab.favIconUrl(或通过tabs.query() 按这些属性进行筛选),您需要拥有"tabs"权限,或者拥有与Tab.url 匹配的主机权限
    • 从 Firefox 86 和 Chrome 50 开始,主机权限支持访问这些属性。在 Firefox 85 及更早版本中,需要“tabs”权限。
  • 要使用tabs.executeScript()tabs.insertCSS(),您必须拥有该标签页的主机权限

或者,您可以暂时获取这些权限,仅针对当前活动的标签页,并且仅在响应明确的用户操作时,方法是请求"activeTab" 权限

许多标签页操作使用标签页id。标签页id 在浏览器会话内保证对单个标签页唯一。如果浏览器重新启动,则它可以而且会重用标签页id。要将信息与标签页关联,以便在浏览器重新启动后保持一致,请使用sessions.setTabValue()

类型

tabs.MutedInfoReason

指定标签页被静音或取消静音的原因。

tabs.MutedInfo

此对象包含一个布尔值,指示标签页是否静音,以及最后一次状态更改的原因。

tabs.PageSettings

用于控制标签页如何通过tabs.saveAsPDF() 方法以 PDF 格式呈现。

tabs.标签页

此类型包含有关标签页的信息。

tabs.TabStatus

指示标签页是否已完成加载。

tabs.WindowType

托管此标签页的窗口类型。

tabs.ZoomSettingsMode

定义缩放更改是由浏览器处理、由扩展处理,还是被禁用。

tabs.ZoomSettingsScope

定义缩放更改将针对页面的来源持久保存,还是仅在此标签页中生效。

tabs.ZoomSettings

定义缩放设置modescope 和默认缩放系数。

属性

tabs.TAB_ID_NONE

分配给不是浏览器标签页的标签页的特殊 ID 值(例如,开发者工具窗口中的标签页)。

函数

tabs.captureTab()

创建一个数据 URL,它对给定标签页的可见区域的图像进行编码。

tabs.captureVisibleTab()

创建一个数据 URL,它对指定窗口中当前活动标签页的可见区域的图像进行编码。

tabs.connect()

在扩展的后台脚本(或其他特权脚本,例如弹出窗口脚本或选项页面脚本)与在指定标签页中运行的任何内容脚本 之间建立消息传递连接。

tabs.create()

创建一个新标签页。

tabs.detectLanguage()

检测标签页中内容的主要语言。

tabs.discard()

丢弃一个或多个标签页。

tabs.duplicate()

复制标签页。

tabs.executeScript()(仅限清单 V2)

将 JavaScript 代码注入页面。

tabs.get()

检索有关指定标签页的详细信息。

tabs.getAllInWindow() 已弃用

获取有关指定窗口中所有标签页的详细信息。

tabs.getCurrent()

获取有关此脚本正在运行的标签页的信息,作为tabs.Tab 对象。

tabs.getSelected() 已弃用

获取指定窗口中选定的标签页。已弃用:使用tabs.query({active: true}) 代替。

tabs.getZoom()

获取指定标签页的当前缩放系数。

tabs.getZoomSettings()

获取指定标签页的当前缩放设置。

tabs.goForward()

如果可用,则前进到下一页。

tabs.goBack()

如果可用,则返回到上一页。

tabs.hide() 实验性

隐藏一个或多个标签页。

tabs.highlight()

突出显示一个或多个选项卡。

tabs.insertCSS() (仅限清单 V2)

将 CSS 注入页面。

tabs.move()

将一个或多个选项卡移动到同一窗口中的新位置,或移动到不同的窗口。

tabs.moveInSuccession()

修改一组选项卡的继承关系。

tabs.print()

打印活动选项卡的内容。

tabs.printPreview()

打开活动选项卡的打印预览。

tabs.query()

获取具有指定属性的所有选项卡,如果未指定任何属性,则获取所有选项卡。

tabs.reload()

重新加载选项卡,可以选择绕过本地 Web 缓存。

tabs.remove()

关闭一个或多个选项卡。

tabs.removeCSS() (仅限清单 V2)

从页面中移除之前通过调用 tabs.insertCSS() 注入的 CSS。

tabs.saveAsPDF()

将当前页面保存为 PDF。

tabs.sendMessage()

向指定选项卡中的内容脚本发送一条消息。

tabs.sendRequest() 已弃用

向指定选项卡中的内容脚本发送一个请求。已弃用:请改用 tabs.sendMessage()

tabs.setZoom()

缩放指定选项卡。

tabs.setZoomSettings()

设置指定选项卡的缩放设置。

tabs.show() 实验性

显示一个或多个已 隐藏 的选项卡。

tabs.toggleReaderMode()

切换指定选项卡的阅读器模式。

tabs.update()

将选项卡导航到新 URL,或修改选项卡的其他属性。

tabs.warmup()

准备选项卡以加快后续可能的切换速度。

事件

tabs.onActivated

当窗口中的活动选项卡更改时触发。请注意,选项卡的 URL 可能会在事件触发时未设置。

tabs.onActiveChanged 已弃用

当窗口中选定的选项卡更改时触发。已弃用:请改用 tabs.onActivated

tabs.onAttached

当选项卡附加到窗口时触发,例如当它在窗口之间移动时。

tabs.onCreated

当创建选项卡时触发。请注意,选项卡的 URL 可能会在事件触发时未设置。

tabs.onDetached

当选项卡从窗口中分离时触发,例如当它在窗口之间移动时。

tabs.onHighlightChanged 已弃用

当窗口中突出显示的或选定的选项卡更改时触发。已弃用:请改用 tabs.onHighlighted

tabs.onHighlighted

当窗口中突出显示的或选定的选项卡更改时触发。

tabs.onMoved

当选项卡在窗口内移动时触发。

tabs.onRemoved

当选项卡关闭时触发。

tabs.onReplaced

当选项卡由于预渲染而被另一个选项卡替换时触发。

tabs.onSelectionChanged 已弃用

当窗口中选定的选项卡更改时触发。已弃用:请改用 tabs.onActivated

tabs.onUpdated

当选项卡更新时触发。

tabs.onZoomChange

当选项卡缩放时触发。

浏览器兼容性

BCD 表仅在浏览器中加载

示例扩展