chrome.tabGroups

说明

使用 chrome.tabGroups API 与浏览器的标签页分组系统进行交互。您可以使用此 API 修改和重新排列浏览器中的标签页分组。如需对标签页进行分组和取消分组,或查询分组中的标签页,请使用 chrome.tabs API。

权限

tabGroups

可用性

Chrome 89 及更高版本 MV3 及更高版本

类型

Color

群组的颜色。

枚举

"grey"

"blue"

“red”

“yellow”

"green"

"pink"

"purple"

"cyan"

"orange"

TabGroup

属性

  • 已收起

    布尔值

    组是否处于收起状态。收起的组是指标签页处于隐藏状态的组。

  • 颜色

    群组的颜色。

  • id

    数值

    群组的 ID。组 ID 在浏览器会话中是唯一的。

  • 共享

    布尔值

    待处理

    群组是否为共享群组。

  • title

    字符串(选填)

    群组的标题。

  • windowId

    数值

    包含该组的窗口的 ID。

属性

TAB_GROUP_ID_NONE

表示没有群组的 ID。

-1

方法

get()

prometido
chrome.tabGroups.get(
  groupId: number,
  callback?: function,
)

检索指定组的详细信息。

参数

  • groupId

    数值

  • callback

    函数(可选)

    callback 参数如下所示:

    (group: TabGroup) => void

返回

  • Promise<TabGroup>

    Chrome 90 及更高版本

    清单 V3 及更高版本支持 Promise,但为了实现向后兼容性,我们提供了回调。您不能在同一函数调用中同时使用这两种方法。promise 的解析结果与传递给回调的类型相同。

move()

prometido
chrome.tabGroups.move(
  groupId: number,
  moveProperties: object,
  callback?: function,
)

将分组及其所有标签页移至其窗口中或新窗口中。

参数

  • groupId

    数值

    要移动的群组的 ID。

  • moveProperties

    对象

    • 索引

      数值

      要将组移到的目标位置。使用 -1 将该组放置在窗口的末尾。

    • windowId

      number 可选

      要将组移到的窗口。默认为组当前所在的窗口。请注意,组只能在类型为 windows.WindowType"normal" 窗口之间移动。

  • callback

    函数(可选)

    callback 参数如下所示:

    (group?: TabGroup) => void

    • 群组

      TabGroup(可选)

      有关移动的群组的详细信息。

返回

  • Promise<TabGroup | undefined>

    Chrome 90 及更高版本

    清单 V3 及更高版本支持 Promise,但为了实现向后兼容性,我们提供了回调。您不能在同一函数调用中同时使用这两种方法。promise 的解析结果与传递给回调的类型相同。

query()

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

获取具有指定属性的所有组,如果未指定任何属性,则获取所有组。

参数

  • queryInfo

    对象

    • 已收起

      布尔值(可选)

      组是否处于收起状态。

    • 颜色

      颜色(可选)

      组的颜色。

    • 共享

      布尔值(可选)

      待处理

      群组是否为共享群组。

    • title

      字符串(选填)

      将组标题与模式进行匹配。

    • windowId

      number 可选

      父窗口的 ID,对于当前窗口,则为 windows.WINDOW_ID_CURRENT

  • callback

    函数(可选)

    callback 参数如下所示:

    (result: TabGroup[]) => void

返回

  • Promise<TabGroup[]>

    Chrome 90 及更高版本

    清单 V3 及更高版本支持 Promise,但为了实现向后兼容性,我们提供了回调。您不能在同一函数调用中同时使用这两种方法。promise 的解析结果与传递给回调的类型相同。

update()

prometido
chrome.tabGroups.update(
  groupId: number,
  updateProperties: object,
  callback?: function,
)

修改组的属性。系统不会修改未在 updateProperties 中指定的属性。

参数

  • groupId

    数值

    要修改的组的 ID。

  • updateProperties

    对象

    • 已收起

      布尔值(可选)

      是否应收起该组。

    • 颜色

      颜色(可选)

      组的颜色。

    • title

      字符串(选填)

      群组的标题。

  • callback

    函数(可选)

    callback 参数如下所示:

    (group?: TabGroup) => void

    • 群组

      TabGroup(可选)

      更新后的群组的详细信息。

返回

  • Promise<TabGroup | undefined>

    Chrome 90 及更高版本

    清单 V3 及更高版本支持 Promise,但为了实现向后兼容性,我们提供了回调。您不能在同一函数调用中同时使用这两种方法。promise 的解析结果与传递给回调的类型相同。

事件

onCreated

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

在创建组时触发。

参数

  • callback

    函数

    callback 参数如下所示:

    (group: TabGroup) => void

onMoved

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

当组在窗口中移动时触发。系统仍会为该分组中的各个标签页以及该分组本身触发移动事件。当组在窗口之间移动时,系统不会触发此事件;而是会将其从一个窗口中移除,然后在另一个窗口中创建。

参数

  • callback

    函数

    callback 参数如下所示:

    (group: TabGroup) => void

onRemoved

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

当用户直接关闭某个分组或由于分组中没有标签页而自动关闭分组时触发。

参数

  • callback

    函数

    callback 参数如下所示:

    (group: TabGroup) => void

onUpdated

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

在有群组更新时触发。

参数

  • callback

    函数

    callback 参数如下所示:

    (group: TabGroup) => void