tabs

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

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

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

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

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

tabs.MutedInfoReason
タブがミュートされている、またはミュートが解除されている理由を示す。
tabs.MutedInfo
タブがミュートされているかを示す真理値と、最後の変更の理由からなるオブジェクト。
tabs.PageSettings

tabs.saveAsPDF()メソッドにおいて、どのように PDF を描画するかを制御する。

tabs.Tab
タブについての情報を含む。
tabs.TabStatus
タブの読み込み状況を示す。
tabs.WindowType
タブを所有しているウィンドウのタイプを示す。
tabs.ZoomSettingsMode
ズームがブラウザーによるものか、拡張機能によるものか、またはズームが許可されていないのかを示す。
tabs.ZoomSettingsScope
あるページのズームが、同一生成元の別ページにも適用されるか、タブ内でのみかを示す。
tabs.ZoomSettings
ズーム設定modescopeとデフォルトのズーム要因を示す。

プロパティ

tabs.TAB_ID_NONE
ブラウザーのタブでないタブに対する特殊な ID(Windows の開発ツールなど)。

関数

tabs.captureTab()
あるタブの可視エリアの画像をエンコードしたデータURIを作成します。
tabs.captureVisibleTab()
特定のウィンドウのアクティブなタブの可視エリアの画像をエンコードしたデータURI を作成します。
tabs.connect()
あるタブにおいて、バックグラウンドスクリプト(またはその他ポップアップやオプションページのスクリプトなど特権スクリプト)と content scripts 間でのメッセージのやり取り用の経路を確保します。
tabs.create()
新しタブを作る。
tabs.detectLanguage()
タブのコンテンツの言語を検出する
tabs.discard()
1つ以上のタブを破棄する。
tabs.duplicate()
タブを複製する。
tabs.executeScript()
ページに JavaScript コードを挿入する。
tabs.get()
特定のタブについて情報を取り出す。
tabs.getAllInWindow()
特定のウィンドウ内のすべてのタブについての情報を取り出す。
tabs.getCurrent()
スクリプトが実行されているタブについての情報を tabs.Tab オブジェクトとして取り出す。
tabs.getSelected()
あるウィンドウにおいてタブが選択されているかを得る。
tabs.getZoom()
あるタブについてズーム要因を得る。
tabs.getZoomSettings()
あるタブについてズーム設定を得る。
tabs.goForward()
可能な場合、次のページへ進む。
tabs.goBack()
可能な場合、前のページへ戻る。
tabs.hide()
1つ以上のタブを隠す。
tabs.highlight()
1 つ以上のタブをハイライトする。
tabs.insertCSS()
CSS をページに挿入する。
tabs.move()
2 つ以上のタブを同じ、あるいは異なるウィンドウの任意のポジションへ移動させる。
tabs.moveInSuccession()
タブグループの継承関係を編集する。
tabs.print()
開いているタブのコンテンツを印刷する。
tabs.printPreview()
開いているタブの印刷プレビューを開く。
tabs.query()
特定のプロパティを持つすべてのタブ、またはプロパティが指定されなければすべてのタブを取得します。
tabs.reload()
タブをリロードする。キャッシュを回避することもできる。
tabs.remove()
1つ以上のタブを閉じる。
tabs.removeCSS()
以前にtabs.insertCSS()を呼び出して挿入されているCSSを削除する。
tabs.saveAsPDF()
現在のページを PDF として保存する。
tabs.sendMessage()
あるタブのコンテンツスクリプトへ、1つのメッセージを送信する。
tabs.sendRequest()
あるタブのコンテンツスクリプトへ、単一のリクエストを送信する。非推奨: 代わりに tabs.sendMessage() を使用してください。
tabs.setZoom()
あるタブをズームする。
tabs.setZoomSettings()
あるタブについてズーム設定をする。
tabs.show()
hiddenで隠されたタブを表示する。
tabs.toggleReaderMode()
あるタブについてのリーダーモードへのトグル。
tabs.update()
新しい URL に案内、もしくはタブの他のプロパティを修正する。

イベント

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
タブがズームされたときに発火する。

ブラウザー実装状況

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxOperaSafariAndroid 版 Firefox
MutedInfoChrome 完全対応 ありEdge 完全対応 79Firefox 完全対応 47Opera 完全対応 ありSafari 部分対応 14
補足
部分対応 14
補足
補足 reason and extensionId will not be populated.
Firefox Android 未対応 なし
MutedInfoReasonChrome 完全対応 ありEdge 完全対応 79Firefox 完全対応 47Opera 完全対応 ありSafari 未対応 なしFirefox Android 未対応 なし
PageSettingsChrome 未対応 なしEdge 未対応 なしFirefox 完全対応 56Opera 未対応 なしSafari 未対応 なしFirefox Android 未対応 なし
TAB_ID_NONEChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 45Opera 完全対応 ありSafari 完全対応 14Firefox Android 完全対応 54
TabStatusChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 45Opera 完全対応 ありSafari 完全対応 14Firefox Android 完全対応 54
WindowTypeChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 45Opera 完全対応 ありSafari 完全対応 14Firefox Android 完全対応 54
ZoomSettingsChrome 完全対応 ありEdge 完全対応 79Firefox 完全対応 45Opera 完全対応 ありSafari 未対応 なしFirefox Android 未対応 なし
ZoomSettingsModeChrome 完全対応 ありEdge 完全対応 79Firefox 完全対応 45Opera 完全対応 ありSafari 未対応 なしFirefox Android 未対応 なし
ZoomSettingsScopeChrome 完全対応 ありEdge 完全対応 79Firefox 完全対応 45Opera 完全対応 ありSafari 未対応 なしFirefox Android 未対応 なし
captureTabChrome 未対応 なしEdge 未対応 なしFirefox 完全対応 59Opera 未対応 なしSafari 未対応 なしFirefox Android 未対応 なし
captureVisibleTabChrome 完全対応 あり
補足
完全対応 あり
補足
補足 The default file format is 'jpeg'.
Edge 完全対応 15Firefox 完全対応 47Opera 完全対応 あり
補足
完全対応 あり
補足
補足 The default file format is 'jpeg'.
Safari 完全対応 14
補足
完全対応 14
補足
補足 The default file format is 'jpeg'.
補足 <all_urls> permission not required to call this.
Firefox Android 完全対応 54
connectChrome 完全対応 ありEdge 完全対応 79Firefox 完全対応 45Opera 完全対応 ありSafari 完全対応 14Firefox Android 完全対応 54
createChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 45Opera 完全対応 ありSafari 完全対応 14Firefox Android 完全対応 54
detectLanguageChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 45Opera 完全対応 ありSafari 完全対応 14
補足
完全対応 14
補足
補足 Will return und (undefined language) for OS lower than 10.16.
補足 Locale identifier will include the country code more often.
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.
Safari 未対応 なしFirefox Android 未対応 なし
duplicateChrome 完全対応 ありEdge 完全対応 79Firefox 完全対応 47Opera 完全対応 ありSafari 完全対応 14Firefox Android 未対応 なし
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.
Safari 完全対応 14Firefox Android 完全対応 54
getChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 45Opera 完全対応 ありSafari 完全対応 14Firefox Android 完全対応 54
getAllInWindow
非推奨非標準
Chrome 完全対応 ありEdge 完全対応 79Firefox 未対応 なしOpera 未対応 なしSafari 未対応 なしFirefox Android 未対応 なし
getCurrentChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 45Opera 完全対応 ありSafari 完全対応 14Firefox Android 完全対応 54
getSelected
非推奨非標準
Chrome 完全対応 ありEdge 完全対応 79Firefox 未対応 なしOpera 未対応 なしSafari 完全対応 14Firefox Android 未対応 なし
getZoomChrome 完全対応 ありEdge 完全対応 79Firefox 完全対応 45Opera 完全対応 ありSafari 完全対応 14Firefox Android 未対応 なし
getZoomSettingsChrome 完全対応 ありEdge 完全対応 79Firefox 完全対応 45Opera 完全対応 ありSafari 未対応 なしFirefox Android 未対応 なし
goBackChrome 完全対応 72Edge 完全対応 79Firefox 完全対応 77Opera 完全対応 60Safari 完全対応 14Firefox Android 未対応 なし
goForwardChrome 完全対応 72Edge 完全対応 79Firefox 完全対応 77Opera 完全対応 60Safari 完全対応 14Firefox 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 未対応 なしSafari 未対応 なしFirefox Android 未対応 なし
highlightChrome 完全対応 ありEdge 完全対応 79Firefox 完全対応 63Opera 未対応 なしSafari 未対応 なしFirefox Android 未対応 なし
insertCSSChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 47Opera 完全対応 ありSafari 完全対応 14Firefox Android 完全対応 54
moveChrome 完全対応 ありEdge 完全対応 79Firefox 完全対応 46Opera 完全対応 ありSafari 未対応 なしFirefox Android 未対応 なし
moveInSuccessionChrome 未対応 なしEdge 未対応 なしFirefox 完全対応 65Opera 未対応 なしSafari 未対応 なしFirefox Android 未対応 なし
onActivatedChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 45Opera 完全対応 ありSafari 完全対応 14Firefox Android 完全対応 54
onActiveChanged
非推奨非標準
Chrome 完全対応 ありEdge 完全対応 79Firefox 未対応 なしOpera 未対応 なしSafari 未対応 なしFirefox Android 未対応 なし
onAttachedChrome 完全対応 ありEdge 完全対応 15Firefox 完全対応 45Opera 完全対応 ありSafari 完全対応 14Firefox Android 完全対応 54
onCreatedChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 45Opera 完全対応 ありSafari 完全対応 14Firefox Android 完全対応 54
onDetachedChrome 完全対応 ありEdge 完全対応 15Firefox 完全対応 45Opera 完全対応 ありSafari 完全対応 14Firefox Android 完全対応 54
onHighlightChanged
非推奨非標準
Chrome 完全対応 ありEdge 完全対応 79Firefox 未対応 なしOpera 未対応 なしSafari 未対応 なしFirefox Android 未対応 なし
onHighlightedChrome 完全対応 ありEdge 完全対応 79Firefox 完全対応 63
完全対応 63
未対応 45 — 62
補足
補足 Implemented as an alias for onActivated.
Opera 未対応 なしSafari 完全対応 14Firefox Android 完全対応 54
補足
完全対応 54
補足
補足 Implemented as an alias for onActivated.
onMovedChrome 完全対応 ありEdge 完全対応 79Firefox 完全対応 45Opera 完全対応 ありSafari 完全対応 14Firefox Android 未対応 なし
onRemovedChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 45Opera 完全対応 ありSafari 完全対応 14Firefox Android 完全対応 54
onReplacedChrome 完全対応 ありEdge 完全対応 79Firefox 未対応 なしOpera 完全対応 ありSafari 完全対応 14Firefox Android 未対応 なし
onSelectionChanged
非推奨非標準
Chrome 完全対応 ありEdge 完全対応 79Firefox 未対応 なしOpera 未対応 なしSafari 未対応 なしFirefox Android 未対応 なし
onUpdatedChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 45Opera 完全対応 ありSafari 完全対応 14Firefox Android 完全対応 54
onZoomChangeChrome 完全対応 ありEdge 完全対応 79Firefox 完全対応 45Opera 完全対応 ありSafari 未対応 なしFirefox Android 未対応 なし
printChrome 未対応 なしEdge 未対応 なしFirefox 完全対応 56Opera 未対応 なしSafari 未対応 なしFirefox Android 未対応 なし
printPreviewChrome 未対応 なしEdge 未対応 なしFirefox 完全対応 56Opera 未対応 なしSafari 未対応 なしFirefox Android 未対応 なし
queryChrome 完全対応 ありEdge 完全対応 14
補足
完全対応 14
補足
補足 The panel, app, devtools and popup values for WindowType are not supported.
Firefox 完全対応 45Opera 完全対応 ありSafari 完全対応 14
補足
完全対応 14
補足
補足 Pattern matching supports * and ?.
Firefox Android 完全対応 54
reloadChrome 完全対応 ありEdge 完全対応 17Firefox 完全対応 45Opera 完全対応 ありSafari 完全対応 14Firefox Android 完全対応 54
removeChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 45Opera 完全対応 ありSafari 完全対応 14Firefox Android 完全対応 54
removeCSSChrome 未対応 なしEdge 未対応 なしFirefox 完全対応 49Opera 未対応 なしSafari 完全対応 14Firefox Android 完全対応 54
saveAsPDFChrome 未対応 なしEdge 未対応 なしFirefox 完全対応 56
補足
完全対応 56
補足
補足 This function does not work on macOS.
Opera 未対応 なしSafari 未対応 なし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 完全対応 ありSafari 完全対応 14Firefox Android 完全対応 54
sendRequest
非推奨非標準
Chrome 完全対応 ありEdge 完全対応 79Firefox 未対応 なしOpera 未対応 なしSafari 未対応 なしFirefox Android 未対応 なし
setZoomChrome 完全対応 ありEdge 完全対応 79Firefox 完全対応 45Opera 完全対応 ありSafari 完全対応 14Firefox Android 未対応 なし
setZoomSettingsChrome 完全対応 ありEdge 完全対応 79Firefox 未対応 なしOpera 完全対応 ありSafari 未対応 なし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 未対応 なしSafari 未対応 なしFirefox Android 未対応 なし
toggleReaderModeChrome 未対応 なしEdge 未対応 なしFirefox 完全対応 58Opera 未対応 なしSafari 未対応 なしFirefox Android 未対応 なし
updateChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 45Opera 完全対応 ありSafari 完全対応 14Firefox 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.