chrome.tabs

Description

使用 chrome.tabs API 与浏览器的标签系统交互。您可以使用此 API 在浏览器中创建、修改和重新排列选项卡。

# Manifest

您可以使用大多数 chrome.tabs 方法和事件,而无需在扩展的清单manifest文件中声明任何权限。但是,如果您需要访问 tabs.TaburlpendingUrltitlefavIconUrl` 属性,则必须在清单中声明“tabs”权限,如下所示:

{
  "name": "My extension",
  ...
  "permissions": [
    "tabs"
  ],
  ...
}

# Examples

以下部分演示了 chrome.tabs API 的几个常见用例。

# Opening an extension page in a new tab(在新标签页中打开扩展页面)

扩展的常见模式是在安装扩展时在新选项卡中打开入门页面。以下示例显示了如何执行此操作。

内容脚本不能使用 chrome.tabs.create()

//// background.js

chrome.runtime.onInstalled.addListener((reason) => {
  if (reason === chrome.runtime.OnInstalledReason.INSTALL) {
    chrome.tabs.create({
      url: 'onboarding.html'
    });
  }
});

# Get the current tab(获取当前标签)

此示例演示后台脚本如何检索当前聚焦的选项卡。

由于使用了 Promises,此示例需要 Manifest V3。此外,内容脚本不能使用 tabs.query

//// background.js

async function getCurrentTab() {
  let queryOptions = { active: true, currentWindow: true };
  let [tab] = await chrome.tabs.query(queryOptions);
  return tab;
}

# Mute the specified tab(静音指定的选项卡)

由于使用了 Promise,需要 Manifest V3。内容脚本不能使用 tabs.gettabs.update

//// background.js

function toggleMuteState(tabId) {
  chrome.tabs.get(tabId, async (tab) => {
    let muted = !tab.mutedInfo.muted;
    await chrome.tabs.update(tabId, { muted });
    console.log(`Tab ${tab.id} is ${ muted ? 'muted' : 'unmuted' }`);
  });
}

# Move the current tab to the first position when clicked(单击时将当前选项卡移动到第一个位置)

此示例显示如何在拖动过程中或不进行时移动选项卡。

由于使用了 Promiseschrome.tabs.onActivated(),需要 Manifest V3,替换 chrome.tabs.onSelectionChanged()。在 Promise 上下文中使用 catch(error) 是一种确保不会未检查否则会填充 chrome.runtime.lastError 的错误的方法。本示例中使用了 chrome.tabs.move,但相同的等待模式可用于在拖动过程中修改选项卡的其他调用。

//// background.js

chrome.tabs.onActivated.addListener(activeInfo => move(activeInfo));

async function move(activeInfo) {
  try {
    await chrome.tabs.move(activeInfo.tabId, {index: 0});
    console.log('Success.');
  } catch (error) {
    if (error == 'Error: Tabs cannot be edited right now (user may be dragging a tab).') {
      setTimeout(() => move(activeInfo), 50);
    }
  }
}

# More samples(更多)

有关演示 Tabs API 的更多示例,请参阅 chrome-extensions-samples 存储库的 mv2-archive/api/tabs 目录。

Summary

Types

MutedInfo

Chrome 46+

选项卡的静音状态以及上次状态更改的原因。

PROPERTIES

  • extensionId

    string optional

    更改静音状态的扩展程序的 ID。如果扩展不是静音状态上次更改的原因,则不设置。

  • muted

    boolean

    选项卡是否静音(防止播放声音)。即使该选项卡尚未播放或当前未播放声音,它也可能被静音。相当于是否显示“静音”音频指示器。

  • reason

    MutedInfoReason optional

    选项卡静音或取消静音的原因。如果选项卡的静音状态从未改变,则不设置。

MutedInfoReason

Chrome 46+

导致静音状态更改的事件。

TYPE

"user", "capture", or "extension"

Tab

PROPERTIES

  • active

    boolean

    选项卡在其窗口中是否处于活动状态。不一定意味着窗口已聚焦。

  • audible

    boolean optional

    Chrome 45+

    该选项卡在过去几秒钟内是否发出声音(但如果也静音,则可能听不到)。相当于是否显示“扬声器音频”指示器。

  • autoDiscardable

    boolean

    Chrome 54+

    资源不足时浏览器是否可以自动丢弃标签页。

  • discarded

    boolean

    Chrome 54+

    标签是否被丢弃。丢弃的选项卡是指其内容已从内存中卸载但在选项卡条中仍可见的选项卡。下次激活时会重新加载其内容。

  • favIconUrl

    string optional

    选项卡图标的 URL。此属性仅在扩展程序的清单包含“tabs”权限时才存在。如果选项卡正在加载,它也可能是一个空字符串。

  • groupId

    number

    Chrome 88+

    选项卡所属的组的 ID。

  • height

    number optional

    选项卡的高度(以像素为单位)。

  • highlighted

    boolean

    该选项卡是否突出显示。

  • id

    number optional

    选项卡的 ID。标签 ID 在浏览器会话中是唯一的。在某些情况下,可能不会为选项卡分配 ID;例如,当使用会话 API 查询外部选项卡时,在这种情况下可能会出现会话session ID。对于应用程序和开发工具窗口,标签 ID 也可以设置为 chrome.tabs.TAB_ID_NONE

  • incognito

    boolean

    选项卡是否在隐身窗口中。

  • index

    number

    选项卡在其窗口中的从零开始的索引。

  • mutedInfo

    MutedInfo optional

    Chrome 46+

    选项卡的静音状态以及上次状态更改的原因。

  • openerTabId

    number optional

    打开此选项卡的选项卡的 ID(如果有)。此属性仅在 opener 选项卡仍然存在时才存在。

  • pendingUrl

    string optional

    Chrome 79+

    选项卡在提交之前导航到的 URL。此属性仅在扩展程序的清单包含“选项卡”权限并且存在挂起导航时才存在。

  • pinned

    boolean

    选项卡是否固定。

  • selected

    boolean

    Deprecated

    Please use tabs.Tab.highlighted.

    选项卡是否被选中。

  • sessionId

    string optional

    用于唯一标识从会话 API 获取的选项卡的会话sessions ID。

  • status

    TabStatus optional

    选项卡的加载状态。

  • title

    string optional

    选项卡的标题。此属性仅在扩展程序的清单包含“tabs”权限时才存在。

  • url

    string optional

    选项卡主框架的最后提交 URL。此属性仅在扩展程序的清单包含“tabs”权限时才存在,如果选项卡尚未提交,则该属性可能为空字符串。另请参阅 Tab.pendingUrl

  • width

    number optional

    选项卡的宽度(以像素为单位)。

  • windowId

    number

    包含选项卡的窗口的 ID。

TabStatus

Chrome 44+

选项卡的加载状态。

TYPE

"unloaded", "loading", or "complete"

WindowType

Chrome 44+

窗口的类型。

TYPE

"normal", "popup", "panel", "app", or "devtools"

ZoomSettings

定义如何处理选项卡中的缩放更改以及在什么范围内。

PROPERTIES

  • defaultZoomFactor

    number optional

    Chrome 43+

    用于在调用 tabs.getZoomSettings 时返回当前选项卡的默认缩放级别。

  • mode

    ZoomSettingsMode optional

    定义如何处理缩放更改,即哪个实体负责页面的实际缩放;默认为自动automatic

  • scope

    ZoomSettingsScope optional

    定义缩放更改是保留页面原点,还是仅在此选项卡中生效;在自动automatic模式下默认为 per-origin,否则为 per-tab

ZoomSettingsMode

Chrome 44+

定义如何处理缩放更改,即哪个实体负责页面的实际缩放;默认为自动automatic

TYPE

"automatic", "manual", or "disabled"

ZoomSettingsScope

Chrome 44+

定义缩放更改是保留页面原点,还是仅在此选项卡中生效;在自动模式(automatic)下默认为 per-origin,否则为 per-tab

TYPE

"per-origin", or "per-tab"

Properties

MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND

Chrome 92+

每秒可以调用 captureVisibleTab 的最大次数。captureVisibleTab 很昂贵,不应过于频繁地调用。

VALUE

2

TAB_ID_NONE

Chrome 46+

表示缺少浏览器选项卡的 ID。

VALUE

-1

Methods

captureVisibleTab

chrome.tabs.captureVisibleTab( windowId?: number, options?: ImageDetails, callback?: function, )

Promise

捕获指定窗口中当前活动选项卡的可见区域。要调用此方法,扩展程序必须具有 权限或 activeTab 权限。除了扩展程序可以正常访问的站点外,此方法还允许扩展程序捕获其他受限制的敏感站点,包括 chrome:-scheme 页面、其他扩展程序的页面和 data: URL。这些敏感站点只能使用 activeTab 权限进行捕获。仅当扩展已被授予文件访问权限时,才可以捕获文件 URL。

PARAMETERS

  • windowId

    number optional

    目标窗口。默认为当前窗口current window

  • options

    ImageDetails optional

  • callback

    function optional

    The callback parameter looks like:

    (dataUrl: string) => void
    • dataUrl

      string

      对捕获的选项卡的可见区域的图像进行编码的数据 URL。可以分配给 HTML img 元素的 'src' 属性以进行显示。

RETURNS

  • Promise<string>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

connect

chrome.tabs.connect(
  tabId: number,
  connectInfo?: object,
)

连接到指定选项卡中的内容脚本。在当前扩展的指定选项卡中运行的每个内容脚本中都会触发 runtime.onConnect 事件。有关更多详细信息,请参阅内容脚本消息传递Content Script Messaging

PARAMETERS

  • tabId

    number

  • connectInfo

    object optional

    • frameId

      number optional

      打开由 frameId 标识的特定框架frame的端口,而不是选项卡中的所有框架。

    • name

      string optional

      传递到 onConnect 用于侦听连接事件的内容脚本。

RETURNS

  • runtime.Port

    可用于与在指定选项卡中运行的内容脚本进行通信的端口。如果选项卡关闭或不存在,则会触发端口的 runtime.Port 事件。

create

chrome.tabs.create( createProperties: object, callback?: function, )

Promise

创建一个新选项卡。

PARAMETERS

  • createProperties

    object

    • active

      boolean optional

      该选项卡是否应成为窗口中的活动选项卡。不影响窗口是否聚焦(参见 windows.update)。默认为true。

    • index

      number optional

      选项卡在窗口中应占据的位置。提供的值被限制在零和窗口中的选项卡数量之间。

    • openerTabId

      number optional

      打开此选项卡的选项卡的 ID。如果指定,opener 选项卡必须与新创建的选项卡位于同一窗口中。

    • pinned

      boolean optional

      是否应固定选项卡。默认为false。

    • selected

      boolean optional

      Deprecated

      Please use active.

      该选项卡是否应成为窗口中的选定选项卡。默认为true;

    • url

      string optional

      最初将选项卡导航到的 URL。完全限定的 URL 必须包含一个方案(即“http://www.google.com”,而不是“www.google.com”)。相对 URL 相对于扩展程序中的当前页面。默认为新标签页。

    • windowId

      number optional

      在其中创建新选项卡的窗口。默认为当前窗口current window

  • callback

    function optional

    The callback parameter looks like:

    (tab: Tab) => void

    • tab

      Tab

      创建的选项卡。

RETURNS

  • Promise<Tab>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

detectLanguage

chrome.tabs.detectLanguage(
  tabId?: number,
  callback?: function,
)

Promise

检测选项卡中内容的主要语言。

PARAMETERS

  • tabId

    number optional

    默认为当前窗口current window的活动选项卡。

  • callback

    function optional

    The callback parameter looks like:

    (language: string) => void
    • language

      string

      ISO 语言代码,例如 enfr。有关此方法支持的语言的完整列表,请参阅 kLanguageInfoTable。检查第二到第四列,返回第一个非NULL值,除了简体中文返回zh-CN。对于未知/未定义的语言,返回 und

RETURNS

  • Promise<string>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

discard

chrome.tabs.discard(
  tabId?: number,
  callback?: function,
)

Promise Chrome 54+

从内存中丢弃一个选项卡。丢弃的标签在标签条上仍然可见,并在激活时重新加载。

PARAMETERS

  • tabId

    number optional

    要丢弃的选项卡的 ID。如果指定,选项卡将被丢弃,除非它处于活动状态或已被丢弃。如果省略,浏览器会丢弃最不重要的选项卡。如果不存在可丢弃的选项卡,这可能会失败。

  • callback

    function optional

    The callback parameter looks like:

    (tab?: Tab) => void

    • tab

      Tab optional

      丢弃的选项卡,如果成功丢弃;否则未定义。

RETURNS

  • Promise<Tab | undefined>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

duplicate

chrome.tabs.duplicate(
  tabId: number,
  callback?: function,
)

Promise

复制选项卡。

PARAMETERS

  • tabId

    number

    要复制的选项卡的 ID。

  • callback

    function optional

    The callback parameter looks like:

    (tab?: Tab) => void

    • tab

      Tab optional

      有关重复选项卡的详细信息。如果未请求“tabs”权限,则tabs.Tab 对象不包含 urlpendingUrltitlefavIconUrl

RETURNS

  • Promise<Tab | undefined>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

executeScript

chrome.tabs.executeScript( tabId?: number, details: InjectDetails, callback?: function, )

Promise ≤MV2 Deprecated since Chrome 91

在 Manifest V3 中被 scripting.executeScript 替换。

将 JavaScript 代码注入页面。有关详细信息,请参阅内容脚本文档的程序化注入programmatic injection部分。

PARAMETERS

  • tabId

    number optional

    在其中运行脚本的选项卡的 ID;默认为当前窗口的活动选项卡。

  • details

    InjectDetails

    要运行的脚本的详细信息。必须设置代码或文件属性,但不能同时设置两者。

  • callback

    function optional

    The callback parameter looks like:

    (result?: any[]) => void
    • result

      any[] optional

      每个注入帧中的脚本结果。

RETURNS

  • Promise<any[] | undefined>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

get

chrome.tabs.get(
  tabId: number,
  callback?: function,
)

Promise

检索有关指定选项卡的详细信息。

PARAMETERS

  • tabId

    number

  • callback

    function optional

    The callback parameter looks like:

    (tab: Tab) => void

RETURNS

  • Promise<Tab>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

getAllInWindow

chrome.tabs.getAllInWindow(
  windowId?: number,
  callback?: function,
)

Promise ≤MV2 Deprecated

Please use tabs.query {windowId: windowId}.

获取有关指定窗口中所有选项卡的详细信息

PARAMETERS

  • windowId

    number optional

    默认为当前窗口current window

  • callback

    function optional

    The callback parameter looks like:

    (tabs: Tab[]) => void

RETURNS

  • Promise<Tab[]>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

getCurrent

chrome.tabs.getCurrent(
  callback?: function,
)

Promise

获取进行此脚本调用的选项卡。如果从非选项卡上下文(例如,背景页面或弹出视图)调用,则可能未定义。

PARAMETERS

  • callback

    function optional

    The callback parameter looks like:

    (tab?: Tab) => void

    • tab

      Tab optional

RETURNS

  • Promise<Tab | undefined>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

getSelected

chrome.tabs.getSelected(
  windowId?: number,
  callback?: function,
)

Promise ≤MV2 Deprecated

Please use tabs.query {active: true}.

获取在指定窗口中选择的选项卡。

PARAMETERS

  • windowId

    number optional

    默认为当前窗口current window

  • callback

    function optional

    The callback parameter looks like:

    (tab: Tab) => void

RETURNS

  • Promise<Tab>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

getZoom

chrome.tabs.getZoom(
  tabId?: number,
  callback?: function,
)

Promise

获取指定选项卡的当前缩放系数。

PARAMETERS

  • tabId

    number optional

    从中获取当前缩放系数的选项卡的 ID;默认为当前窗口的活动选项卡。

  • callback

    function optional

    The callback parameter looks like:

    (zoomFactor: number) => void
    • zoomFactor

      number

      选项卡的当前缩放系数。

RETURNS

  • Promise<number>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

getZoomSettings

chrome.tabs.getZoomSettings(
  tabId?: number,
  callback?: function,
)

Promise

获取指定选项卡的当前缩放设置。

PARAMETERS

  • tabId

    number optional

    从中获取当前缩放设置的选项卡的 ID;默认为当前窗口的活动选项卡。

  • callback

    function optional

    The callback parameter looks like:

    (zoomSettings: ZoomSettings) => void

RETURNS

  • Promise<ZoomSettings>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

goBack

chrome.tabs.goBack(
  tabId?: number,
  callback?: function,
)

Promise Chrome 72+

如果有,请返回上一页。

PARAMETERS

  • tabId

    number optional

    要返回的选项卡的 ID;默认为当前窗口的选定选项卡。

  • callback

    function optional

    The callback parameter looks like:

    () => void

RETURNS

  • Promise<void>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

goForward

chrome.tabs.goForward(
  tabId?: number,
  callback?: function,
)

Promise Chrome 72+

前进到下一页,如果有的话。

PARAMETERS

  • tabId

    number optional

    要向前导航的选项卡的 ID;默认为当前窗口的选定选项卡。

  • callback

    function optional

    The callback parameter looks like:

    () => void

RETURNS

  • Promise<void>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

group

chrome.tabs.group(
  options: object,
  callback?: function,
)

Promise Chrome 88+

将一个或多个选项卡添加到指定的组,或者如果未指定组,则将给定的选项卡添加到新创建的组。

PARAMETERS

  • options

    object

    • createProperties

      object optional

      用于创建组的配置。如果已经指定了 groupId,则不能使用。

      • windowId

        number optional

        新组的窗口。默认为当前窗口。

  • groupId

    number optional

    要将选项卡添加到的组的 ID。如果未指定,将创建一个新组。

  • tabIds

    number | [number, ...number[]]

    要添加到指定组的选项卡 ID 或选项卡 ID 列表。

  • callback

    function optional

    The callback parameter looks like:

    (groupId: number) => void
    • groupId

      number

      添加选项卡的组的 ID。

RETURNS

  • Promise<number>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

highlight

chrome.tabs.highlight(
  highlightInfo: object,
  callback?: function,
)

Promise

突出显示给定的选项卡并关注组中的第一个。如果指定的选项卡当前处于活动状态,则似乎什么都不做。

PARAMETERS

  • highlightInfo

    object

    • tabs

      number | number[]

      要突出显示的一个或多个标签索引。

    • windowId

      number optional

      包含选项卡的窗口。

  • callback

    function optional

    The callback parameter looks like:

    (window: Window) => void

    • window

      Window

      包含有关其选项卡突出显示的窗口的详细信息。

RETURNS

  • Promise<windows.Window>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

insertCSS

chrome.tabs.insertCSS( tabId?: number, details: InjectDetails, callback?: function, )

Promise ≤MV2 Deprecated since Chrome 91

Replaced by scripting.insertCSS in Manifest V3.

将 CSS 注入页面。使用此方法插入的样式可以使用 scripting.removeCSS 删除。有关详细信息,请参阅内容脚本文档的程序化注入programmatic injection部分。

PARAMETERS

  • tabId

    number optional

    要插入 CSS 的选项卡的 ID;默认为当前窗口的活动选项卡。

  • details

    InjectDetails

    要插入的 CSS 文本的详细信息。必须设置代码或文件属性,但不能同时设置两者。

  • callback

    function optional

    The callback parameter looks like:

    () => void

RETURNS

  • Promise<void>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

move

chrome.tabs.move(
  tabIds: number | number[],
  moveProperties: object,
  callback?: function,
)

Promise

将一个或多个选项卡移动到其窗口内的新位置,或移动到新窗口。请注意,选项卡只能移入和移出普通 (window.type === "normal") 窗口。

PARAMETERS

  • tabIds

    number | number[]

    要移动的选项卡 ID 或选项卡 ID 列表。

  • moveProperties

    object

    • index

      number

      将窗口移动到的位置。使用 -1 将选项卡放在窗口的末尾。

    • windowId

      number optional

      默认为选项卡当前所在的窗口。

  • callback

    function optional

    The callback parameter looks like:

    (tabs: Tab | Tab[]) => void

    • tabs

      Tab | Tab[]

      有关移动选项卡的详细信息。

RETURNS

  • Promise<Tab | Tab[]>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

query

chrome.tabs.query(
  queryInfo: object,
  callback?: function,
)

Promise

获取具有指定属性的所有选项卡,如果未指定属性,则获取所有选项卡。

PARAMETERS

  • queryInfo

    object

    • active

      boolean optional

      选项卡在其窗口中是否处于活动状态。

    • audible

      boolean optional

      Chrome 45+

      是否可以听到选项卡。

    • autoDiscardable

      boolean optional

      Chrome 54+

      资源不足时浏览器是否可以自动丢弃标签页。

    • currentWindow

      boolean optional

      选项卡是否在当前窗口中current window

    • discarded

      boolean optional

      Chrome 54+

      标签是否被丢弃。丢弃的选项卡是指其内容已从内存中卸载但在选项卡条中仍可见的选项卡。下次激活时会重新加载其内容。

    • groupId

      number optional

      Chrome 88+

      选项卡所在组的 ID,或 tabGroups.TAB_GROUP_ID_NONE 用于未分组的选项卡。

    • highlighted

      boolean optional

      选项卡是否突出显示。

    • index

      number optional

      选项卡在其窗口中的位置。

    • lastFocusedWindow

      boolean optional

      选项卡是否在最后一个聚焦窗口中。

    • muted

      boolean optional

      Chrome 45+

      选项卡是否静音。

    • pinned

      boolean optional

      标签是否固定。

    • status

      TabStatus optional

      选项卡加载状态。

    • title

      string optional

      将页面标题与模式匹配。如果扩展没有“tabs”权限,则忽略此属性。

    • url

      string | string[] optional

      根据一个或多个 URL 模式匹配URL patterns选项卡。片段标识符不匹配。如果扩展没有“tabs”权限,则忽略此属性。

    • windowId

      number optional

      父窗口的 ID,或当前窗口current windowwindows.WINDOW_ID_CURRENT

    • windowType

      WindowType optional

      选项卡所在的窗口类型。

  • callback

    function optional

    The callback parameter looks like:

    (result: Tab[]) => void

RETURNS

  • Promise<Tab[]>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

reload

chrome.tabs.reload(
  tabId?: number,
  reloadProperties?: object,
  callback?: function,
)

Promise

重新加载选项卡。

PARAMETERS

  • tabId

    number optional

    要重新加载的选项卡的 ID;默认为当前窗口的选定选项卡。

  • reloadProperties

    object optional

    • bypassCache

      boolean optional

      是否绕过本地缓存。默认为false。

  • callback

    function optional

    The callback parameter looks like:

    () => void

RETURNS

  • Promise<void>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

remove

chrome.tabs.remove(
  tabIds: number | number[],
  callback?: function,
)

Promise

关闭一个或多个选项卡。

PARAMETERS

  • tabIds

    number | number[]

    要关闭的选项卡 ID 或选项卡 ID 列表。

  • callback

    function optional

    The callback parameter looks like:

    () => void

RETURNS

  • Promise<void>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

removeCSS

chrome.tabs.removeCSS( tabId?: number, details: DeleteInjectionDetails, callback?: function, )

Promise Chrome 87+ ≤MV2 Deprecated since Chrome 91

Replaced by scripting.removeCSS in Manifest V3.

从页面中删除之前通过调用 scripting.insertCSS 注入的 CSS。

PARAMETERS

  • tabId

    number optional

    要从中删除 CSS 的选项卡的 ID;默认为当前窗口的活动选项卡。

  • details

    DeleteInjectionDetails

    要删除的 CSS 文本的详细信息。必须设置代码或文件属性,但不能同时设置两者。

  • callback

    function optional

    The callback parameter looks like:

    () => void

RETURNS

  • Promise<void>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

sendMessage

chrome.tabs.sendMessage(
  tabId: number,
  message: any,
  options?: object,
  responseCallback?: function,
)

向指定选项卡中的内容脚本发送一条消息,并在发回响应时运行可选的回调。在当前扩展的指定选项卡中运行的每个内容脚本中都会触发 runtime.onMessage 事件。

PARAMETERS

  • tabId

    number

  • message

    any

    要发送的消息。此消息应该是一个 JSON-ifiable 对象。

  • options

    object optional

    • frameId

      number optional

      将消息发送到由 frameId 标识的特定框架frame,而不是选项卡中的所有框架。

  • responseCallback

    function optional

    The responseCallback parameter looks like:

    (response: any) => void
    • response

      any

      消息处理程序发送的 JSON 响应对象。如果在连接到指定选项卡时发生错误,则不带参数调用回调并将 runtime.lastError 设置为错误消息。

sendRequest

chrome.tabs.sendRequest(
  tabId: number,
  request: any,
  responseCallback?: function,
)

≤MV2 Deprecated

Please use runtime.sendMessage.

向指定选项卡中的内容脚本发送单个请求,并在发回响应时运行可选的回调。在当前扩展的指定选项卡中运行的每个内容脚本中都会触发 extension.onRequest 事件。

PARAMETERS

  • tabId

    number

  • request

    any

  • responseCallback

    function optional

    The responseCallback parameter looks like:

    (response: any) => void
    • response

      any

      请求处理程序发送的 JSON 响应对象。如果在连接到指定选项卡时发生错误,则不带参数调用回调并将 runtime.lastError 设置为错误消息。

setZoom

chrome.tabs.setZoom(
  tabId?: number,
  zoomFactor: number,
  callback?: function,
)

Promise

缩放指定的选项卡。

PARAMETERS

  • tabId

    number optional

    要缩放的选项卡的 ID;默认为当前窗口的活动选项卡。

  • zoomFactor

    number

    新的缩放系数。值 0 将选项卡设置为其当前的默认缩放系数。大于 0 的值指定选项卡的(可能是非默认的)缩放系数。

  • callback

    function optional

    The callback parameter looks like:

    () => void

RETURNS

  • Promise<void>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

setZoomSettings

chrome.tabs.setZoomSettings( tabId?: number, zoomSettings: ZoomSettings, callback?: function, )

Promise

设置指定选项卡的缩放设置,定义如何处理缩放更改。导航选项卡时,这些设置将重置为默认值。

PARAMETERS

  • tabId

    number optional

    要更改缩放设置的选项卡的 ID;默认为当前窗口的活动选项卡。

  • zoomSettings

    ZoomSettings

    定义如何处理缩放更改以及在什么范围内。

  • callback

    function optional

    The callback parameter looks like:

    () => void

RETURNS

  • Promise<void>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

ungroup

chrome.tabs.ungroup(
  tabIds: number | [number, ...number[]],
  callback?: function,
)

Promise Chrome 88+

从各自的组中删除一个或多个选项卡。如果任何组变空,它们将被删除。

PARAMETERS

  • tabIds

    number | [number, ...number[]]

    要从各自组中删除的选项卡 ID 或选项卡 ID 列表。

  • callback

    function optional

    The callback parameter looks like:

    () => void

RETURNS

  • Promise<void>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

update

chrome.tabs.update(
  tabId?: number,
  updateProperties: object,
  callback?: function,
)

Promise

修改选项卡的属性。未在 updateProperties 中指定的属性不会被修改。

PARAMETERS

  • tabId

    number optional

    默认为当前窗口current window的选定选项卡。

  • updateProperties

    object

    • active

      boolean optional

      该选项卡是否应处于活动状态。不影响窗口是否聚焦(参见 windows.update)。

    • autoDiscardable

      boolean optional

      Chrome 54+

      当资源不足时,浏览器是否应自动丢弃该选项卡。

    • highlighted

      boolean optional

      在当前选择中添加或删除选项卡。

    • muted

      boolean optional

      Chrome 45+

      该选项卡是否应静音。

    • openerTabId

      number optional

      打开此选项卡的选项卡的 ID。如果指定,opener 选项卡必须与此选项卡位于同一窗口中。

    • pinned

      boolean optional

      是否应固定选项卡。

    • selected

      boolean optional

      Deprecated

      Please use highlighted.

      是否应选择选项卡。

    • url

      string optional

      将选项卡导航到的 URL。不支持 JavaScript URL;改用 scripting.executeScript

  • callback

    function optional

    The callback parameter looks like:

    (tab?: Tab) => void

    • tab

      Tab optional

      有关更新选项卡的详细信息。如果未请求“tabs”权限,则 tabs.Tab 对象不包含 urlpendingUrltitlefavIconUrl

RETURNS

  • Promise<Tab | undefined>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

Events

onActivated

chrome.tabs.onActivated.addListener(
  callback: function,
)

当窗口中的活动选项卡更改时触发。请注意,在触发此事件时可能未设置选项卡的 URL,但您可以侦听 onUpdated 事件,以便在设置 URL 时收到通知。

PARAMETERS

  • callback

    function

    The callback parameter looks like:

    (activeInfo: object) => void
    • activeInfo

      object

      • tabId

        number

        已激活的选项卡的 ID。

      • windowId

        number

        活动选项卡在其中更改的窗口的 ID。

onActiveChanged

chrome.tabs.onActiveChanged.addListener(
  callback: function,
)

≤MV2 Deprecated

Please use tabs.onActivated.

当窗口中选定的选项卡更改时触发。请注意,在触发此事件时可能未设置选项卡的 URL,但您可以侦听 tabs.onUpdated 事件,以便在设置 URL 时收到通知。

PARAMETERS

  • callback

    function

    The callback parameter looks like:

    (tabId: number, selectInfo: object) => void
    • tabId

      number

    • selectInfo

      object

      • windowId

        number

        所选选项卡在其中更改的窗口的 ID。

onAttached

chrome.tabs.onAttached.addListener(
  callback: function,
)

将选项卡附加到窗口时激发;例如,因为它在窗口之间移动。

PARAMETERS

  • callback

    function

    The callback parameter looks like:

    (tabId: number, attachInfo: object) => void
    • tabId

      number

    • attachInfo

      object

      • newPosition

        number

      • newWindowId

        number

onCreated

chrome.tabs.onCreated.addListener(
  callback: function,
)

创建选项卡时触发。请注意,在触发此事件时可能未设置选项卡的 URL 和选项卡组成员资格,但您可以侦听 onUpdated 事件,以便在设置 URL 或将选项卡添加到选项卡组时收到通知。

PARAMETERS

  • callback

    function

    The callback parameter looks like:

    (tab: Tab) => void

onDetached

chrome.tabs.onDetached.addListener(
  callback: function,
)

当选项卡从窗口分离时激发;例如,因为它在窗口之间移动。

PARAMETERS

  • callback

    function

    The callback parameter looks like:

    (tabId: number, detachInfo: object) => void
    • tabId

      number

    • detachInfo

      object

      • oldPosition

        number

      • oldWindowId

        number

onHighlightChanged

chrome.tabs.onHighlightChanged.addListener(
  callback: function,
)

≤MV2 Deprecated

Please use tabs.onHighlighted.

当窗口中突出显示或选定的选项卡发生变化时触发。

PARAMETERS

  • callback

    function

    The callback parameter looks like:

    (selectInfo: object) => void
    • selectInfo

      object

      • tabIds

        number[]

        窗口中所有突出显示的选项卡。

      • windowId

        number

        选项卡更改的窗口。

onHighlighted

chrome.tabs.onHighlighted.addListener(
  callback: function,
)

当窗口中突出显示或选定的选项卡发生变化时触发。

PARAMETERS

  • callback

    function

    The callback parameter looks like:

    (highlightInfo: object) => void
    • selectInfo

      object

      • tabIds

        number[]

        窗口中所有突出显示的选项卡。

      • windowId

        number

        选项卡更改的窗口。

onMoved

chrome.tabs.onMoved.addListener(
  callback: function,
)

在窗口内移动选项卡时触发。仅触发一个移动事件,代表用户直接移动的选项卡。对于必须移动以响应手动移动的选项卡的其他选项卡,不会触发移动事件。在窗口之间移动选项卡时不会触发此事件;有关详细信息,请参阅 tabs.onDetached

PARAMETERS

  • callback

    function

    The callback parameter looks like:

    (tabId: number, moveInfo: object) => void
    • tabId

      number

    • moveInfo

      object

      • fromIndex

        number

      • toIndex

        number

      • windowId

        number

onRemoved

chrome.tabs.onRemoved.addListener(
  callback: function,
)

关闭选项卡时触发。

PARAMETERS

  • callback

    function

    The callback parameter looks like:

    (tabId: number, removeInfo: object) => void
    • tabId

      number

    • removeInfo

      object

      • isWindowClosing

        boolean

        由于其父窗口已关闭而关闭选项卡时为True。

      • windowId

        number

        选项卡关闭的窗口。

onReplaced

chrome.tabs.onReplaced.addListener(
  callback: function,
)

由于预渲染或即时将选项卡替换为另一个选项卡时触发。

PARAMETERS

  • callback

    function

    The callback parameter looks like:

    (addedTabId: number, removedTabId: number) => void
    • addedTabId

      number

    • removedTabId

      number

onSelectionChanged

chrome.tabs.onSelectionChanged.addListener(
  callback: function,
)

≤MV2 Deprecated

Please use tabs.onActivated.

当窗口中选定的选项卡更改时触发。

PARAMETERS

  • callback

    function

    The callback parameter looks like:

    (tabId: number, selectInfo: object) => void
    • tabId

      number

    • selectInfo

      object

      • windowId

        number

        所选选项卡在其中更改的窗口的 ID。

onUpdated

chrome.tabs.onUpdated.addListener(
  callback: function,
)

更新选项卡时触发。

PARAMETERS

  • callback

    function

    The callback parameter looks like:

    (tabId: number, changeInfo: object, tab: Tab) => void

    • tabId

      number

    • changeInfo

      object

      • audible

        boolean optional

        Chrome 45+

        选项卡的新声音状态。

      • autoDiscardable

        boolean optional

        Chrome 54+

        选项卡的新自动丢弃状态。

      • discarded

        boolean optional

        Chrome 54+

        选项卡的新丢弃状态。

      • favIconUrl

        string optional

        选项卡的新图标 URL。

      • groupId

        number optional

        Chrome 88+

        选项卡的新组。

      • mutedInfo

        MutedInfo optional

        Chrome 46+

        选项卡的新静音状态和更改原因。

      • pinned

        boolean optional

        选项卡的新固定状态。

      • status

        TabStatus optional

        选项卡的加载状态。

      • title

        string optional

        Chrome 48+

        选项卡的新标题。

      • url

        string optional

        选项卡的 URL(如果已更改)。

onZoomChange

chrome.tabs.onZoomChange.addListener(
  callback: function,
)

缩放选项卡时触发。

PARAMETERS

  • callback

    function

    The callback parameter looks like:

    (ZoomChangeInfo: object) => void
    • ZoomChangeInfo

      object

      • newZoomFactor

        number

      • oldZoomFactor

        number

      • tabId

        number

      • zoomSettings

        ZoomSettings

By.一粒技术服务

results matching ""

    No results matching ""