chrome.tabGroups

說明

使用 chrome.tabGroups API 與瀏覽器的分頁分組系統互動。你可以使用這個 API 修改及重新排列瀏覽器的分頁群組。如要將分頁分組或取消分組,或是查詢群組中的分頁,請使用 chrome.tabs API。

權限

tabGroups

可用性

Chrome 89 以上版本 MV3 以上

類型

Color

群組的顏色。

列舉

"灰色"

"blue"

"紅色"

"黃色"

"green"

「粉紅色」

"紫色"

"青色"

「橘色」

TabGroup

屬性

  • 已收合

    布林值

    群組是否收合。收合的群組就是其分頁隱藏的群組。

  • 顏色

    群組的顏色。

  • id

    數字

    群組 ID。單一瀏覽器工作階段內的群組 ID 不得重複。

  • title

    string optional

    群組的標題。

  • windowId

    數字

    群組所在視窗的 ID。

屬性

TAB_GROUP_ID_NONE

代表缺少任何群組的 ID。

-1

方法

get()

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

擷取指定群組的詳細資料。

參數

  • groupId

    數字

  • 回呼

    函式 選用

    callback 參數如下所示:

    (group: TabGroup) => void

傳回

  • Promise<TabGroup>

    Chrome 90 以上版本

    Promise 適用於 Manifest V3 及以上版本,但系統會為 回溯相容性您無法在同一函式呼叫中同時使用兩者。 保證會以傳遞至回呼的相同類型來解析。

move()

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

在視窗中將群組及其所有分頁移至新視窗。

參數

  • groupId

    數字

    要移動的群組 ID。

  • moveProperties

    物件

    • 索引

      數字

      群組要移至的位置。使用 -1 將群組放在視窗尾端。

    • windowId

      編號 選填

      要將群組移至這個視窗。預設為群組目前所在的視窗。請注意,群組只能移入 windows.WindowType 類型為 "normal" 的視窗,或從視窗移出。

  • 回呼

    函式 選用

    callback 參數如下所示:

    (group?: TabGroup) => void

    • 群組

      TabGroup 選用

      已移動群組的詳細資料。

傳回

  • Promise<TabGroup |未定義>

    Chrome 90 以上版本

    Promise 適用於 Manifest V3 及以上版本,但系統會為 回溯相容性您無法在同一函式呼叫中同時使用兩者。 保證會以傳遞至回呼的相同類型來解析。

query()

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

取得具有指定屬性的所有群組;如果未指定屬性,則取得所有群組。

參數

  • queryInfo

    物件

    • 已收合

      布林值 選填

      群組是否收合。

    • 顏色

      顏色 選用

      群組的顏色。

    • title

      string optional

      依據模式比對群組標題。

    • windowId

      編號 選填

      父項視窗的 ID,或目前視窗windows.WINDOW_ID_CURRENT

  • 回呼

    函式 選用

    callback 參數如下所示:

    (result: TabGroup[]) => void

傳回

  • Promise<TabGroup[]>

    Chrome 90 以上版本

    Promise 適用於 Manifest V3 及以上版本,但系統會為 回溯相容性您無法在同一函式呼叫中同時使用兩者。 保證會以傳遞至回呼的相同類型來解析。

update()

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

修改群組的屬性。未修改 updateProperties 中未指定的屬性。

參數

  • groupId

    數字

    要修改的群組的 ID。

  • updateProperties

    物件

    • 已收合

      布林值 選填

      是否應收合群組。

    • 顏色

      顏色 選用

      群組的顏色。

    • title

      string optional

      群組的標題。

  • 回呼

    函式 選用

    callback 參數如下所示:

    (group?: TabGroup) => void

    • 群組

      TabGroup 選用

      已更新群組的詳細資料。

傳回

  • Promise<TabGroup |未定義>

    Chrome 90 以上版本

    Promise 適用於 Manifest V3 及以上版本,但系統會為 回溯相容性您無法在同一函式呼叫中同時使用兩者。 保證會以傳遞至回呼的相同類型來解析。

活動

onCreated

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

建立群組時觸發。

參數

  • 回呼

    函式

    callback 參數如下所示:

    (group: TabGroup) => void

onMoved

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

在視窗內移動群組時觸發。移動事件仍會觸發群組中的個別分頁,以及群組本身。群組在視窗之間移動時,不會觸發這個事件;而是會從某個視窗移除,然後在另一個視窗中建立。

參數

  • 回呼

    函式

    callback 參數如下所示:

    (group: TabGroup) => void

onRemoved

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

群組關閉時觸發,由使用者直接關閉,或因群組不含任何分頁而自動觸發。

參數

  • 回呼

    函式

    callback 參數如下所示:

    (group: TabGroup) => void

onUpdated

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

群組更新時觸發。

參數

  • 回呼

    函式

    callback 參數如下所示:

    (group: TabGroup) => void