この翻訳は不完全です。英語から この記事を翻訳 してください。

ブラウザーのタブシステムとやりとりします。

この API を使って開いているタブの一覧を取得したり、いろいろな条件でフィルターしたり、タブを開き、更新し、移動し、再読み込みし、削除できます。このAPI ではタブのコンテンツに直接アクセスできませんが、JavaScript と CSS をタブに挿入することは、 tabs.executeScript()tabs.insertCSS() API を使ってできます。

この API の大半の使用に特別なパーミッションは入りませんが:

あるいは、これらのパーミッションを一時的に取得できますが、それは現在アクティブなタブで明示的なユーザーアクションへの応答の場合のみで、"activeTab" パーミッションpermissionを要求することで可能です。

タブ操作の多くはタブ ID を使います。タブ ID はブラウザーセッションの単一のタブごとにユニークである保証がされています。ブラウザーが再起動したら、タブIDを再利用できて、実際そうします。ブラウザーの再起動をまたいでタブ情報を関連づけるには sessions.setTabValue() を使います。

tabs.MutedInfoReason
Specifies the reason a tab was muted or unmuted.
tabs.MutedInfo
This object contains a boolean indicating whether the tab is muted, and the reason for the last state change.
tabs.PageSettings

Used to control how a tab is rendered as a PDF by the tabs.saveAsPDF() method.

tabs.Tab
This type contains information about a tab.
tabs.TabStatus
Indicates whether the tab has finished loading.
tabs.WindowType
The type of window that hosts this tab.
tabs.ZoomSettingsMode
Defines whether zoom changes are handled by the browser, by the extension, or are disabled.
tabs.ZoomSettingsScope
Defines whether zoom changes will persist for the page's origin, or only take effect in this tab.
tabs.ZoomSettings
Defines zoom settings modescope, and default zoom factor.

プロパティ

tabs.TAB_ID_NONE
A special ID value given to tabs that are not browser tabs (for example, tabs in devtools windows).

関数

tabs.captureVisibleTab()
Creates a data URI encoding an image of the visible area of the currently active tab in the specified window.
tabs.connect()
Sets up a messaging connection between the extension's background scripts (or other privileged scripts, such as popup scripts or options page scripts) and any content scripts running in the specified tab.
tabs.create()
Creates a new tab.
tabs.detectLanguage()
Detects the primary language of the content in a tab.
tabs.duplicate()
Duplicates a tab.
tabs.executeScript()
Injects JavaScript code into a page.
tabs.get()
Retrieves details about the specified tab.
tabs.getAllInWindow()
Gets details about all tabs in the specified window.
tabs.getCurrent()
Gets information about the tab that this script is running in, as a tabs.Tab object.
tabs.getSelected()
Gets the tab that is selected in the specified window.
tabs.getZoom()
Gets the current zoom factor of the specified tab.
tabs.getZoomSettings()
Gets the current zoom settings for the specified tab.
tabs.highlight()
Highlights one or more tabs.
tabs.insertCSS()
Injects CSS into a page.
tabs.move()
Moves one or more tabs to a new position in the same window or to a different window.
tabs.print()
Prints the contents of the active tab.
tabs.printPreview()
Opens print preview for the active tab.
tabs.query()
Gets all tabs that have the specified properties, or all tabs if no properties are specified.
tabs.reload()
Reload a tab, optionally bypassing the local web cache.
tabs.remove()
Closes one or more tabs.
tabs.removeCSS()
Removes from a page CSS which was previously injected by calling tabs.insertCSS().
tabs.saveAsPDF()
Saves the current page as a PDF.
tabs.sendMessage()
Sends a single message to the content script(s) in the specified tab.
tabs.sendRequest()
Sends a single request to the content script(s) in the specified tab. Deprecated: use tabs.sendMessage() instead.
tabs.setZoom()
Zooms the specified tab.
tabs.setZoomSettings()
Sets the zoom settings for the specified tab.
tabs.toggleReaderMode()
Toggles Reader mode for the specified tab.
tabs.update()
Navigate the tab to a new URL, or modify other properties of the tab.

イベント

tabs.onActivated
Fires when the active tab in a window changes. Note that the tab's URL may not be set at the time this event fired.
tabs.onActiveChanged
Fires when the selected tab in a window changes. Deprecated: use tabs.onActivated instead.
tabs.onAttached
Fired when a tab is attached to a window, for example because it was moved between windows.
tabs.onCreated
Fired when a tab is created. Note that the tab's URL may not be set at the time this event fired.
tabs.onDetached
Fired when a tab is detached from a window, for example because it is being moved between windows.
tabs.onHighlightChanged
Fired when the highlighted or selected tabs in a window change. Deprecated: use tabs.onHighlighted instead.
tabs.onHighlighted
Fired when the highlighted or selected tabs in a window change.
tabs.onMoved
Fired when a tab is moved within a window.
tabs.onRemoved
Fired when a tab is closed.
tabs.onReplaced
Fired when a tab is replaced with another tab due to prerendering.
tabs.onSelectionChanged
Fires when the selected tab in a window changes. Deprecated: use tabs.onActivated instead.
tabs.onUpdated
Fired when a tab is updated.
tabs.onZoomChange
Fired when a tab is zoomed.

ブラウザ実装状況

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxOperaAndroid 版 Firefox
MutedInfoChrome 完全対応 ありEdge 未対応 なしFirefox 完全対応 47Opera 完全対応 ありFirefox Android 未対応 なし
MutedInfoReasonChrome 完全対応 ありEdge 未対応 なしFirefox 完全対応 47Opera 完全対応 ありFirefox Android 未対応 なし
PageSettingsChrome 未対応 なしEdge 未対応 なしFirefox 完全対応 56Opera 未対応 なしFirefox Android 未対応 なし
TAB_ID_NONEChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 45Opera 完全対応 ありFirefox Android 完全対応 54
TabStatusChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 45Opera 完全対応 ありFirefox Android 完全対応 54
WindowTypeChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 45Opera 完全対応 ありFirefox Android 完全対応 54
ZoomSettingsChrome 完全対応 ありEdge 未対応 なしFirefox 完全対応 45Opera 完全対応 ありFirefox Android 未対応 なし
ZoomSettingsModeChrome 完全対応 ありEdge 未対応 なしFirefox 完全対応 45Opera 完全対応 ありFirefox Android 未対応 なし
ZoomSettingsScopeChrome 完全対応 ありEdge 未対応 なしFirefox 完全対応 45Opera 完全対応 ありFirefox Android 未対応 なし
captureTabChrome 未対応 なしEdge 未対応 なしFirefox 完全対応 59Opera 未対応 なしFirefox Android 完全対応 59
captureVisibleTabChrome 完全対応 あり
補足
完全対応 あり
補足
補足 The default file format is 'jpeg'.
Edge 完全対応 15Firefox 完全対応 47Opera 完全対応 あり
補足
完全対応 あり
補足
補足 The default file format is 'jpeg'.
Firefox Android 完全対応 54
connectChrome 完全対応 ありEdge 未対応 なしFirefox 完全対応 45Opera 完全対応 ありFirefox Android 完全対応 54
createChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 45Opera 完全対応 ありFirefox Android 完全対応 54
detectLanguageChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 45Opera 完全対応 ありFirefox Android 未対応 なし
discardChrome 完全対応 54
補足
完全対応 54
補足
補足 Only accepts a single tab ID as a parameter, not an array.
補足 The tab ID argument is optional: if it is omitted, the browser discards the least important tab.
補足 The callback is passed a Tab object representing the tab that was discarded.
補足 Tabs whose document contains a beforeunload listener that displays a prompt will be discarded.
Edge 完全対応 14Firefox 完全対応 58Opera 完全対応 あり
補足
完全対応 あり
補足
補足 Only accepts a single tab ID as a parameter, not an array.
補足 The tab ID argument is optional: if it is omitted, the browser discards the least important tab.
補足 The callback is passed a Tab object representing the tab that was discarded.
補足 Tabs whose document contains a beforeunload listener that displays a prompt will be discarded.
Firefox Android 未対応 なし
duplicateChrome 完全対応 ありEdge 未対応 なしFirefox 完全対応 47Opera 完全対応 ありFirefox Android 完全対応 54
executeScriptChrome 完全対応 あり
補足
完全対応 あり
補足
補足 Extensions can't inject scripts into their own pages using this API.
Edge 完全対応 14Firefox 完全対応 43
補足
完全対応 43
補足
補足 Before version 50, Firefox would pass a single result value into its callback rather than an array, unless 'allFrames' had been set.
Opera 完全対応 あり
補足
完全対応 あり
補足
補足 Extensions can't inject scripts into their own pages using this API.
Firefox Android 完全対応 54
getChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 45Opera 完全対応 ありFirefox Android 完全対応 54
getAllInWindow
非推奨非標準
Chrome 完全対応 ありEdge 未対応 なしFirefox 未対応 なしOpera 未対応 なしFirefox Android 未対応 なし
getCurrentChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 45Opera 完全対応 ありFirefox Android 完全対応 54
getSelected
非推奨非標準
Chrome 完全対応 ありEdge 未対応 なしFirefox 未対応 なしOpera 未対応 なしFirefox Android 未対応 なし
getZoomChrome 完全対応 ありEdge 未対応 なしFirefox 完全対応 45Opera 完全対応 ありFirefox Android 未対応 なし
getZoomSettingsChrome 完全対応 ありEdge 未対応 なしFirefox 完全対応 45Opera 完全対応 ありFirefox Android 未対応 なし
hide
実験的非標準
Chrome 未対応 なしEdge 未対応 なしFirefox 完全対応 61
完全対応 61
未対応 59 — 61
無効
無効 From version 59 until version 61 (exclusive): this feature is behind the extensions.webextensions.tabhide.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera 未対応 なしFirefox Android 未対応 なし
highlightChrome 完全対応 ありEdge 未対応 なしFirefox 未対応 なしOpera 未対応 なしFirefox Android 未対応 なし
insertCSSChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 47Opera 完全対応 ありFirefox Android 完全対応 54
moveChrome 完全対応 ありEdge 未対応 なしFirefox 完全対応 46Opera 完全対応 ありFirefox Android 未対応 なし
onActivatedChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 45Opera 完全対応 ありFirefox Android 完全対応 54
onActiveChanged
非推奨非標準
Chrome 完全対応 ありEdge 未対応 なしFirefox 未対応 なしOpera 未対応 なしFirefox Android 未対応 なし
onAttachedChrome 完全対応 ありEdge 完全対応 15Firefox 完全対応 45Opera 完全対応 ありFirefox Android 完全対応 54
onCreatedChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 45Opera 完全対応 ありFirefox Android 完全対応 54
onDetachedChrome 完全対応 ありEdge 完全対応 15Firefox 完全対応 45Opera 完全対応 ありFirefox Android 完全対応 54
onHighlightChanged
非推奨非標準
Chrome 完全対応 ありEdge 未対応 なしFirefox 未対応 なしOpera 未対応 なしFirefox Android 未対応 なし
onHighlightedChrome 完全対応 ありEdge 未対応 なしFirefox 完全対応 63
完全対応 63
未対応 45 — 62
補足
補足 Implemented as an alias for onActivated.
Opera 未対応 なしFirefox Android 完全対応 54
補足
完全対応 54
補足
補足 Implemented as an alias for onActivated.
onMovedChrome 完全対応 ありEdge 未対応 なしFirefox 完全対応 45Opera 完全対応 ありFirefox Android 未対応 なし
onRemovedChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 45Opera 完全対応 ありFirefox Android 完全対応 54
onReplacedChrome 完全対応 ありEdge 未対応 なしFirefox 未対応 なしOpera 完全対応 ありFirefox Android 未対応 なし
onSelectionChanged
非推奨非標準
Chrome 完全対応 ありEdge 未対応 なしFirefox 未対応 なしOpera 未対応 なしFirefox Android 未対応 なし
onUpdatedChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 45Opera 完全対応 ありFirefox Android 完全対応 54
onZoomChangeChrome 完全対応 ありEdge 未対応 なしFirefox 完全対応 45Opera 完全対応 ありFirefox Android 未対応 なし
printChrome 未対応 なしEdge 未対応 なしFirefox 完全対応 56Opera 未対応 なしFirefox Android 未対応 なし
printPreviewChrome 未対応 なしEdge 未対応 なしFirefox 完全対応 56Opera 未対応 なしFirefox Android 未対応 なし
queryChrome 完全対応 ありEdge 完全対応 14
補足
完全対応 14
補足
補足 The panel, app, devtools and popup values for WindowType are not supported.
Firefox 完全対応 45Opera 完全対応 ありFirefox Android 完全対応 54
reloadChrome 完全対応 ありEdge 完全対応 17Firefox 完全対応 45Opera 完全対応 ありFirefox Android 完全対応 54
removeChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 45Opera 完全対応 ありFirefox Android 完全対応 54
removeCSSChrome 未対応 なしEdge 未対応 なしFirefox 完全対応 49Opera 未対応 なしFirefox Android 完全対応 54
saveAsPDFChrome 未対応 なしEdge 未対応 なしFirefox 完全対応 56
補足
完全対応 56
補足
補足 This function does not work on macOS.
Opera 未対応 なしFirefox Android 未対応 なし
sendMessageChrome 完全対応 ありEdge 完全対応 14
補足
完全対応 14
補足
補足 No response is sent after the receiving tab is refreshed if there is no `runtime.onMessage` listener.
Firefox 完全対応 45Opera 完全対応 ありFirefox Android 完全対応 54
sendRequest
非推奨非標準
Chrome 完全対応 ありEdge 未対応 なしFirefox 未対応 なしOpera 未対応 なしFirefox Android 未対応 なし
setZoomChrome 完全対応 ありEdge 未対応 なしFirefox 完全対応 45Opera 完全対応 ありFirefox Android 未対応 なし
setZoomSettingsChrome 完全対応 ありEdge 未対応 なしFirefox 未対応 なしOpera 完全対応 ありFirefox Android 未対応 なし
show
実験的非標準
Chrome 未対応 なしEdge 未対応 なしFirefox 完全対応 61
完全対応 61
未対応 59 — 61
無効
無効 From version 59 until version 61 (exclusive): this feature is behind the extensions.webextensions.tabhide.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera 未対応 なしFirefox Android 未対応 なし
toggleReaderModeChrome 未対応 なしEdge 未対応 なしFirefox 完全対応 58Opera 未対応 なしFirefox Android 未対応 なし
updateChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 45Opera 完全対応 ありFirefox Android 完全対応 54

凡例

完全対応  
完全対応
未対応  
未対応
実験的。動作が変更される可能性があります。
実験的。動作が変更される可能性があります。
非標準。ブラウザー間の互換性が低い可能性があります。
非標準。ブラウザー間の互換性が低い可能性があります。
非推奨。新しいウェブサイトでは使用しないでください。
非推奨。新しいウェブサイトでは使用しないでください。
実装ノートを参照してください。
実装ノートを参照してください。
ユーザーが明示的にこの機能を有効にしなければなりません。
ユーザーが明示的にこの機能を有効にしなければなりません。

Example extensions

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.

ドキュメントのタグと貢献者

このページの貢献者: Uemmra3, wbamberg
最終更新者: Uemmra3,