tabs.create()

创建一个新标签页。

这是一个返回 Promise 的异步函数。

语法

js
let creating = browser.tabs.create(
  createProperties   // 对象
)

参数

createProperties

object。用于设置新标签页的属性。要了解更多这些属性的信息,请参阅 tabs.Tab 文档。

active 可选

boolean。标签页是否应该成为窗口中的活动标签页。如果为 false,则不会产生任何效果。这不影响窗口是否获得焦点(参见 windows.update)。默认为 true

cookieStoreId 可选

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 必须包含方案(scheme)(例如,http://www.google.com 而不是 www.google.com)。

出于安全原因,在 Firefox 中,可能不允许使用特权 URL。因此,传递以下任何 URL 将失败:

  • chrome:URL
  • javascript:URL
  • data:URL
  • file:URL(即文件系统上的文件。但是,要使用打包在扩展内部的文件,请参见下文)
  • 特权 about:URL(例如,about:configabout:addonsabout:debugging)。非特权 URL(例如 about:blank)是允许的。

要加载扩展打包的页面,请指定从扩展的 manifest.json 文件开始的绝对 URL。例如:/path/to/my-page.html。如果省略了前导 /,则 URL 将被视为相对 URL,不同的浏览器可能构造不同的绝对 URL。

windowId 可选

integer。要创建新标签页的窗口。默认为当前窗口。

返回值

一个 Promise,其会兑现一个包含有关已创建标签页详细信息的 tabs.Tab 对象。如果无法创建标签页(例如因为 url 使用了特权方案),则该 promise 将以错误消息拒绝。

browser.tabs.create() 返回的 promise 在标签页创建后立即兑现。标签页可能仍在加载中。要检测标签页何时加载完成,可以监听 tabs.onUpdatedwebNavigation.onCompleted 事件,然后调用 tabs.create

示例

在新标签页中打开 https://example.org

js
function onCreated(tab) {
  console.log(`创建了新标签页:${tab.id}`);
}

function onError(error) {
  console.log(`发生错误:${error}`);
}

browser.browserAction.onClicked.addListener(() => {
  let creating = browser.tabs.create({
    url: "https://example.org",
  });
  creating.then(onCreated, onError);
});

示例扩展

浏览器兼容性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Firefox for Android
Safari on iOS
create
active
cookieStoreId
discarded
index
muted
openInReaderMode
openerTabId
pinned
selected
title
url
windowId

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
See implementation notes.

备注: 此 API 基于 Chromium 的 chrome.tabs API。本文档内容源自 Chromium 代码中的 tabs.json