这篇翻译不完整。请帮忙从英语翻译这篇文章

与浏览器标签系统进行交互。

你可以使用该API获取一个以打开标签的列表并且使用各种标准过滤标签,并进行 打开, 刷新,移动,重载,移除操作。该API不能直接访问标签中的主机内容,但是你可以使用 tabs.executeScript() 或者 tabs.insertCSS() APIs,来插入javascript和CSS。

你可以在不需要任何特殊权限的情况下使用该APIS的大部分, 除了:

或者你可以仅仅只为当前的活动标签临时的获取这些权限并且仅仅只响应一个显示的用户行为,请查看 "activeTab" permission.

枚举值

tabs.MutedInfoReason
确定一个标签静音与否的原因(用户修改,扩展修改)。
tabs.MutedInfo
该对象包含一个布尔值只是该标签是否静音,以及最近一次静音的原因。
tabs.Tab
该值包含了一个标签的信息。
tabs.TabStatus
指示某个标签是否已经加载完成
tabs.WindowType
包含该标签的窗口类型。
tabs.ZoomSettingsMode
定义缩放由浏览器控制或是扩展,或者禁用。
tabs.ZoomSettingsScope
定义缩放将对某个网址持续生效,或者仅仅只针对该标签。
tabs.ZoomSettings
定义缩放设置。 modescope, 和默认缩放比例。

属性

tabs.TAB_ID_NONE
给予非浏览器标签的一个特殊ID值 (比如,在开发工具中的标签)。

方法

tabs.connect()
在运行于该标签的任何 content scripts  和该扩展的后台脚本(或者其他的比如弹出菜单脚本或者设置页面脚本)间创建一个消息连接。
tabs.create()
创建一个新标签。
tabs.captureVisibleTab()
创意一个数据统一资源标识符解码在规定窗口中当前活动标签的可视区域重的一个图片。
tabs.detectLanguage()
检查在一个标签中的主要语言。
tabs.duplicate()
复制一个标签
tabs.executeScript()
向一个页面注入脚本。
tabs.get()
取回制定标签的详细信息。
tabs.getAllInWindow()
获取指定窗口所有标签的详细信息。
tabs.getCurrent()
返回一个 tabs.Tab 对象包含了该脚本当前的宿主标签的信息。
tabs.getSelected()
获取在指定窗口被选定的标签。
tabs.getZoom()
获取制定标签的缩放系数。
tabs.getZoomSettings()
获取指定标签的缩放设置。
tabs.highlight()
高亮显示一个或多个标签。
tabs.insertCSS()
向一个页面注入CSS。
tabs.removeCSS()
移除之前调用tabs.insertCSS() 注入的一个css。
tabs.move()
移动一个或多个标签页到同一窗口的一个新的位置或是到不同窗口。
tabs.query()
获取所有包含指定属性的标签,如果没有属性则获取所有标签。
tabs.reload()
重在一个标签,可选的可以绕过本地缓存。
tabs.remove()
关闭一个或多个标签。
tabs.sendMessage()
向一个指定标签的content script 发送单个消息。
tabs.sendRequest()
向一个指定标签的content script 发送一个单一请求。 过时: 请使用 tabs.sendMessage() 替代。
tabs.setZoom()
缩放指定标签。
tabs.setZoomSettings()
为一个制定标签设置缩放选项。
tabs.update()
导航一个标签到新的地址,或是修改其它的属性。

Events

tabs.onActivated
当窗口活动标签改变时触发,注意当该消息触发时,标签地址可能没有被设置。
tabs.onActiveChanged
 已过时: 请使用 tabs.onActivated 代替。
tabs.onAttached
当一个标签被附加到一个窗口时触发,因为他可能在窗口间移动。
tabs.onCreated
当一个标签被创建时触发,注意当该事件触发时可能没有设置地址。
tabs.onDetached
当一个标签脱离一个窗口时被触发。
tabs.onHighlightChanged
过时: 请使用 tabs.onHighlighted 代替。
tabs.onHighlighted
当一个标签被高亮显示或是被选中时触发。
tabs.onMoved
当一个标签在一个窗口内移动时被触发。
tabs.onRemoved
当一个标签关闭时被处罚。
tabs.onReplaced
当一个标签因为预载取代另一个标签时被触发。
tabs.onSelectionChanged
 以过时: 请使用 tabs.onActivated 代替。
tabs.onUpdated
当一个标签被更新时触发。
tabs.onZoomChange
当一个标签被缩放时触发

Browser compatibility

Chrome Edge Firefox Firefox for Android Opera
MutedInfo Yes No 47.0 No 33
MutedInfoReason Yes No 47.0 No 33
TAB_ID_NONE Yes Yes 45.0 No 33
Tab Yes * Yes * 45.0 * No 33 *
TabStatus Yes Yes 45.0 No 33
WindowType Yes Yes 45.0 No 33
ZoomSettings Yes No 45.0 No 33
ZoomSettingsMode Yes No 45.0 No 33
ZoomSettingsScope Yes No 45.0 No 33
captureVisibleTab Yes No 47.0 No 33
connect Yes No 45.0 No 33
create Yes * Yes * 45.0 * No 33 *
detectLanguage Yes Yes 45.0 No 33
duplicate Yes No 47.0 No 33
executeScript Yes Yes 43.0 * No 33
get Yes Yes 45.0 No 33
getAllInWindow Yes No 45.0 No No
getCurrent Yes Yes 45.0 No 33
getSelected Yes No No No No
getZoom Yes No 45.0 No 33
getZoomSettings Yes No 45.0 No 33
highlight Yes No No No No
insertCSS Yes Yes 47.0 * No 33
move Yes No 46.0 No 33
onActivated Yes Yes 45.0 No 33
onActiveChanged Yes No No No No
onAttached Yes No 45.0 No 33
onCreated Yes Yes 45.0 No 33
onDetached Yes No 45.0 No 33
onHighlightChanged Yes No No No No
onHighlighted Yes No 45.0 No No
onMoved Yes No 45.0 No 33
onRemoved Yes Yes 45.0 No 33
onReplaced Yes No 45.0 No 33
onSelectionChanged Yes No No No No
onUpdated Yes Yes 45.0 No 33
onZoomChange Yes No 45.0 No 33
query Yes * Yes * 45.0 * No 33 *
reload Yes No 45.0 No 33
remove Yes Yes 45.0 No 33
removeCSS No No 49.0 * No No
sendMessage Yes Yes 45.0 No 33
sendRequest Yes No No No No
setZoom Yes No 45.0 No 33
setZoomSettings Yes No 45.0 No 33
update Yes Yes * 45.0 * No 33

Chrome incompatibilities

tabs

  • In Firefox, relative URLs passed into tabs.executeScript() or tabs.insertCSS() are resolved relative to the current page URL. In Chrome, these URLs are resolved relative to the add-on's base URL. To work cross-browser, you can specify the path as an absolute URL, starting at the add-on's root, like this:

    /path/to/script.js
  • In Firefox, querying tabs by URL with tabs.query() requires "tabs" permission. In Chrome, it's possible without the "tabs" permission but will limit results to tabs whose URLs match host permissions.

Example add-ons

Acknowledgements

This API is based on Chromium's chrome.tabs API. This documentation is derived from tabs.json in the Chromium code.

Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.

文档标签和贡献者

 此页面的贡献者: Hypophrenia, wbamberg
 最后编辑者: Hypophrenia,