語法
let creating = browser.tabs.create(
createProperties // object
)
引數
createProperties-
object。用於為新標籤頁設定屬性的物件。有關這些屬性的更多資訊,請參閱tabs.Tab文件。active可選-
boolean。是否將標籤頁設定為視窗中的活動標籤頁。如果為false,則無效。不會影響視窗是否獲得焦點(請參閱windows.update)。預設為true。 -
string。使用此項來建立 cookie 儲存 ID 為cookieStoreId的標籤頁。僅當擴充套件具有"cookies"許可權時,此選項才可用。有關更多資訊,請參閱 使用上下文身份。 discarded可選-
boolean。是否建立標籤頁並使其在標籤欄中可見,而無需將任何內容載入到記憶體中,這種狀態稱為丟棄。標籤頁的內容將在啟用時載入。 index可選-
integer。標籤頁在視窗中應占據的位置。提供的值將被限制在零和視窗中的標籤頁數量之間。 muted可選-
boolean。是否應將標籤頁靜音。預設為false。 openerTabId可選-
integer。開啟此標籤頁的標籤頁的 ID。如果指定,則開啟者標籤頁必須與新建立的標籤頁位於同一視窗中。 openInReaderMode可選-
boolean。如果為true,則在 閱讀模式 中開啟此標籤頁。預設為false。 pinned可選-
boolean。是否應將標籤頁固定。預設為false。 selected可選-
boolean。是否應將標籤頁設定為視窗中的選中標籤頁。預設為true。警告:此屬性已棄用,在 Firefox 中不受支援。請改用
active。 title可選-
string。標籤頁的標題。僅當使用discarded設定為true建立標籤頁時才允許。 url可選-
string。要初始導航到的標籤頁的 URL。預設為新標籤頁。完全限定的 URL 必須包含方案(例如,'http://www.google.com' 而不是 'www.google.com')。
出於安全原因,在 Firefox 中,此項可能不是特權 URL。因此,傳遞任何以下 URL 都將失敗
- chrome: URL
- javascript: URL
- data: URL
- file: URL(即檔案系統上的檔案。但是,要使用打包在擴充套件中的檔案,請參閱下文)
- 特權 about: URL(例如,
about:config、about:addons、about:debugging)。非特權 URL(例如,about:blank)是允許的。 - 如果未提供 URL 值,則可以開啟新標籤頁(
about:newtab)。
要載入與擴充套件一起打包的頁面,請指定一個以擴充套件的 manifest.json 檔案開頭的絕對 URL。例如:'/path/to/my-page.html'。如果省略前導 '/',則 URL 被視為相對 URL,不同的瀏覽器可能會構建不同的絕對 URL。
windowId可選-
integer。要在其中建立新標籤頁的視窗。預設為當前視窗。
返回值
一個 Promise,它將使用一個包含已建立標籤頁詳細資訊的 tabs.Tab 物件來解析。如果無法建立標籤頁(例如,因為 url 使用了特權方案),則 Promise 將以錯誤訊息被拒絕。
browser.tabs.create() 返回的 Promise 在標籤頁建立完成後立即解析。標籤頁可能仍在載入中。要檢測標籤頁何時載入完成,請在呼叫 tabs.create 之前監聽 tabs.onUpdated 或 webNavigation.onCompleted 事件。
示例
在新標籤頁中開啟 "https://example.org"
function onCreated(tab) {
console.log(`Created new tab: ${tab.id}`);
}
function onError(error) {
console.log(`Error: ${error}`);
}
browser.browserAction.onClicked.addListener(() => {
let creating = browser.tabs.create({
url: "https://example.org",
});
creating.then(onCreated, onError);
});
擴充套件程式示例
瀏覽器相容性
載入中…
注意:此 API 基於 Chromium 的 chrome.tabs API。此文件摘自 Chromium 程式碼中的 tabs.json。