tabs.query()
獲取具有指定屬性的所有標籤頁,或者在未指定屬性時獲取所有標籤頁。
語法
let querying = browser.tabs.query(queryInfo)
引數
queryInfo-
object。()函式獲取屬性與此處包含的屬性匹配的標籤頁。有關這些屬性的詳細資訊,請參閱
tabs.Tab文件。active可選-
boolean。標籤頁是否在其視窗中處於活動狀態。 attention可選-
boolean。指示標籤頁是否正在吸引注意力。 audible可選-
boolean。標籤頁是否發出聲音。 autoDiscardable可選-
boolean。標籤頁是否可以被瀏覽器丟棄。預設值為true。當設定為false時,瀏覽器無法自動丟棄該標籤頁。但是,該標籤頁可以透過tabs.discard進行丟棄。 -
string或string的array。使用此選項可返回tab.cookieStoreId與任何cookieStoreId字串匹配的標籤頁。此選項僅在附加元件具有"cookies"許可權時可用。有關更多資訊,請參閱 使用上下文標識。 currentWindow可選-
boolean。標籤頁是否在當前視窗中。 discarded可選-
boolean。標籤頁是否已被丟棄。已丟棄的標籤頁是指其內容已從記憶體中解除安裝,但在標籤欄中仍可見的標籤頁。下次啟用時,其內容將重新載入。 groupId可選-
integer。標籤頁所屬的標籤組的 ID,或者對於未分組的標籤頁為-1(tabGroups.TAB_GROUP_ID_NONE)。有關標籤組的更多資訊,請參閱tabGroups。 -
boolean。標籤頁是否隱藏。 highlighted可選-
boolean。標籤頁是否突出顯示。 index可選-
integer。標籤頁在其視窗中的位置。 muted可選-
boolean。標籤頁是否被靜音。 lastFocusedWindow可選-
boolean。標籤頁是否在最後一個聚焦的視窗中。 pinned可選-
boolean。標籤頁是否被固定。 status可選-
tabs.TabStatus。標籤頁是否已完成載入。 title可選-
string。使用模式匹配頁面標題。需要“tabs”許可權或針對要匹配的標籤頁的 主機許可權。 url可選-
string或string的array。使用一個或多個 匹配模式 來匹配標籤頁。請注意,不匹配片段識別符號。需要“tabs”許可權或針對要匹配的標籤頁的 主機許可權。 windowId可選-
integer。父視窗的id,或當前視窗的windows.WINDOW_ID_CURRENT。 windowType可選-
tabs.WindowType。標籤頁所在的視窗型別。
返回值
一個 Promise,它將使用一個 array 的 tabs.Tab 物件來解析,其中包含有關每個匹配標籤頁的資訊。
如果發生任何錯誤,Promise 將以錯誤訊息被拒絕。
示例
獲取所有標籤頁
function logTabs(tabs) {
for (const tab of tabs) {
// tab.url requires the `tabs` permission or a matching host permission.
console.log(tab.url);
}
}
function onError(error) {
console.error(`Error: ${error}`);
}
browser.tabs.query({}).then(logTabs, onError);
獲取當前視窗中的所有標籤頁
function logTabs(tabs) {
for (const tab of tabs) {
// tab.url requires the `tabs` permission or a matching host permission.
console.log(tab.url);
}
}
function onError(error) {
console.error(`Error: ${error}`);
}
browser.tabs.query({ currentWindow: true }).then(logTabs, onError);
獲取當前視窗中的活動標籤頁
function logTabs(tabs) {
// tabs[0].url requires the `tabs` permission or a matching host permission.
console.log(tabs[0].url);
}
function onError(error) {
console.error(`Error: ${error}`);
}
browser.tabs
.query({ currentWindow: true, active: true })
.then(logTabs, onError);
獲取 "mozilla.org" 或其任何子域下的所有 HTTP 和 HTTPS URL 的標籤頁
function logTabs(tabs) {
for (const tab of tabs) {
// tab.url requires the `tabs` permission or a matching host permission.
console.log(tab.url);
}
}
function onError(error) {
console.error(`Error: ${error}`);
}
browser.tabs.query({ url: "*://*.mozilla.org/*" }).then(logTabs, onError);
擴充套件程式示例
瀏覽器相容性
載入中…
注意:此 API 基於 Chromium 的 chrome.tabs API。本文件源自 Chromium 程式碼中的 tabs.json。