tabs
與瀏覽器的標籤頁系統進行互動。
注意: 使用 Manifest V3 或更高版本時,執行指令碼、插入 CSS 和移除 CSS 的方法由 scripting API 透過 scripting.executeScript()、scripting.insertCSS() 和 scripting.removeCSS() 方法提供。
您可以使用此 API 獲取開啟的標籤頁列表(可根據各種條件進行篩選),以及開啟、更新、移動、重新載入和移除標籤頁。您無法使用此 API 直接訪問標籤頁中託管的內容,但可以使用 tabs.executeScript() 或 tabs.insertCSS() API 將 JavaScript 和 CSS 插入到標籤頁中。
您可以使用此 API 的大部分功能而無需任何特殊許可權。但是
-
要訪問
Tab.url、Tab.title和Tab.favIconUrl(或透過tabs.query()根據這些屬性進行篩選),您需要擁有"tabs"許可權,或者擁有與Tab.url匹配的主機許可權。- 自 Firefox 86 和 Chrome 50 起支援透過主機許可權訪問這些屬性。在 Firefox 85 及更早版本中,則需要“tabs”許可權。
-
要使用
tabs.executeScript()或tabs.insertCSS(),您必須擁有該標籤頁的主機許可權
另外,您可以透過請求 "activeTab" 許可權,暫時獲取這些許可權,僅適用於當前活動的標籤頁,並且僅在響應明確的使用者操作時。
許多標籤頁操作使用 Tab id。Tab id 在單個瀏覽器會話中保證是唯一的。如果瀏覽器重啟,則可以並且會重用 tab id。要在瀏覽器重啟後將資訊與標籤頁關聯,請使用 sessions.setTabValue()。
型別
tabs.MutedInfoReason-
指定標籤頁被靜音或取消靜音的原因。
tabs.MutedInfo-
此物件包含一個布林值,指示標籤頁是否已靜音,以及上次狀態更改的原因。
tabs.PageSettings-
用於控制
tabs.saveAsPDF()方法如何將標籤頁渲染為 PDF。 tabs.Tab-
此型別包含有關標籤頁的資訊。
tabs.TabStatus-
指示標籤頁是否已完成載入。
tabs.WindowType-
承載此標籤頁的視窗型別。
tabs.ZoomSettingsMode-
定義縮放更改是由瀏覽器處理、由擴充套件程式處理還是被停用。
tabs.ZoomSettingsScope-
定義縮放更改是會保留頁面的來源,還是僅在此標籤頁中生效。
tabs.ZoomSettings
屬性
tabs.TAB_ID_NONE-
賦予非瀏覽器標籤頁(例如,開發者工具視窗中的標籤頁)的特殊 ID 值。
函式
tabs.captureTab()-
建立一個數據 URL,該 URL 編碼了給定標籤頁可見區域的影像。
tabs.captureVisibleTab()-
建立一個數據 URL,該 URL 編碼了指定視窗中當前活動標籤頁可見區域的影像。
tabs.connect()-
在擴充套件程式的後臺指令碼(或其他特權指令碼,如彈出視窗指令碼或選項頁尾本)與在指定標籤頁中執行的任何內容指令碼之間建立訊息連線。
tabs.create()-
建立一個新標籤頁。
tabs.detectLanguage()-
檢測標籤頁中內容的主要語言。
tabs.discard()-
丟棄一個或多個標籤頁。
tabs.duplicate()-
複製一個標籤頁。
tabs.executeScript()(僅限 Manifest 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.group()-
將標籤頁新增到標籤頁組。
tabs.hide()實驗性-
隱藏一個或多個標籤頁。
tabs.highlight()-
突出顯示一個或多個標籤頁。
tabs.insertCSS()(僅限 Manifest V2)-
將 CSS 注入頁面。
tabs.move()-
將一個或多個標籤頁移動到同一視窗中的新位置或不同的視窗。
tabs.moveInSuccession()-
修改一組標籤頁的連續關係。
tabs.print()-
列印活動標籤頁的內容。
tabs.printPreview()-
開啟活動標籤頁的列印預覽。
tabs.query()-
獲取所有具有指定屬性的標籤頁,如果未指定屬性,則獲取所有標籤頁。
tabs.reload()-
重新載入標籤頁,可選地繞過本地網路快取。
tabs.remove()-
關閉一個或多個標籤頁。
tabs.removeCSS()(僅限 Manifest V2)-
從頁面中移除之前透過呼叫
tabs.insertCSS()注入的 CSS。 tabs.saveAsPDF()-
將當前頁面儲存為 PDF。
tabs.sendMessage()-
向指定標籤頁中的內容指令碼傳送單條訊息。
tabs.sendRequest()已廢棄-
向指定標籤頁中的內容指令碼傳送單條請求。已廢棄:請改用
tabs.sendMessage()。 tabs.setZoom()-
縮放指定的標籤頁。
tabs.setZoomSettings()-
設定指定標籤頁的縮放設定。
tabs.show()實驗性-
顯示一個或多個已
隱藏的標籤頁。 tabs.toggleReaderMode()-
切換指定標籤頁的閱讀器模式。
tabs.ungroup()-
從標籤頁組中移除標籤頁。
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-
當標籤頁縮放時觸發。
擴充套件程式示例
- annotate-page
- apply-css
- beastify
- bookmark-it
- chill-out
- commands
- context-menu-copy-link-with-types
- contextual-identities
- cookie-bg-picker
- devtools-panels
- find-across-tabs
- firefox-code-search
- history-deleter
- imagify
- list-cookies
- menu-demo
- menu-labelled-open
- menu-remove-element
- open-my-page-button
- permissions
- session-state
- store-collected-images
- tabs-tabs-tabs
瀏覽器相容性
載入中…
注意: 此 API 基於 Chromium 的 chrome.tabs API。此文件源自 Chromium 程式碼中的 tabs.json。