chrome.types

說明

chrome.types API 包含 Chrome 的類型宣告。

Chrome 設定

ChromeSetting 類型提供一組常用函式 (get()set()clear()) Chrome 瀏覽器設定的事件發布者 (onChange)。Proxy 設定 。

範圍和生命週期

Chrome 區分瀏覽器的設定有三種:

regular
regular 範圍中設定的設定會套用至一般瀏覽器視窗,並採用無痕模式沿用 視窗 (如果沒有覆寫的話)。這些設定會儲存至磁碟,並保持不變 或受管理的擴充功能已停用或解除安裝。
incognito_persistent
你在 incognito_persistent 範圍中設定的設定僅適用於無痕視窗。因此 覆寫 regular 設定。這些設定會儲存至磁碟,並持續設定,直到 或受管理的擴充功能已停用或解除安裝。
incognito_session_only
你在 incognito_session_only 範圍中設定的設定僅適用於無痕視窗。因此 覆寫 regularincognito_persistent 設定。這些設定不會儲存到磁碟,而且 系統也會清除上次關閉的無痕式視窗。至少要設定一項屬性 無痕式視窗已開啟。

優先順序

Chrome 會管理不同層級的設定。以下清單說明可能的圖層 按優先順序遞增排序有效的設定

  1. 作業系統提供的系統設定
  2. 指令列參數
  3. 擴充功能提供的設定
  4. 政策

正如清單所指,政策可能會覆寫您透過擴充功能指定的任何變更。個人中心 可以使用 get() 函式判斷擴充功能是否能提供設定 還是要覆寫這項設定

如先前所述,Chrome 允許一般視窗和無痕模式使用不同的設定 視窗。以下範例說明行為。假設沒有任何政策覆寫 設定,擴充功能則可指定一般視窗 (R) 和 無痕式視窗 (I)

  • 如果只設定 (R),這些設定對一般視窗和無痕式視窗都有效。
  • 如果只設定 (I),這些設定僅適用於無痕視窗。正常窗戶 並使用較低層 (指令列選項和系統設定) 決定的設定。
  • 如果同時設定 (R)(I),一般和無痕模式都會使用各自的設定。 視窗。

如果您想讓兩個以上擴充功能使用相同的設定值,表示已安裝擴充功能 排序的值會優先於其他額外資訊。如果最近安裝的擴充功能 僅設定 (I),您可以依照先前安裝的 。

設定的「有效」值是指優先規則後產生的值。這項服務 均由 Chrome 使用。

類型

ChromeSetting

允許存取 Chrome 瀏覽器設定的介面。如需範例,請參閱 accessibilityFeatures

屬性

  • onChange

    事件<functionvoid>

    設定變更後觸發。

    onChange.addListener 函式如下所示:

    (callback: function) => {...}

    • 回呼

      函式

      callback 參數如下所示:

      (details: object) => void

      • 詳細資料

        物件

        • incognitoSpecific

          布林值 選填

          已變更的值是否只適用於無痕模式工作階段。 使用者必須在無痕模式下啟用擴充功能,系統才會顯示這個屬性。

        • levelOfControl

          設定的控制層級。

        • T

          變更後的設定值。

  • 關閉

    void

    Promise

    清除設定,還原所有預設值。

    clear 函式如下所示:

    (details: object, callback?: function) => {...}

    • 詳細資料

      物件

      要清除的設定。

    • 回呼

      函式 選用

      callback 參數如下所示:

      () => void

    • returns

      承諾<void>

      Chrome 96 以上版本

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

  • get

    void

    Promise

    取得設定的值。

    get 函式如下所示:

    (details: object, callback?: function) => {...}

    • 詳細資料

      物件

      該考量的設定。

      • 無痕模式

        布林值 選填

        是否傳回適用於無痕模式工作階段的值 (預設為 false)。

    • 回呼

      函式 選用

      callback 參數如下所示:

      (details: object) => void

      • 詳細資料

        物件

        目前有效值的詳細資料。

        • incognitoSpecific

          布林值 選填

          是否與無痕模式工作階段相關的有效值。 只有get()details 參數中的 incognito 屬性為 true 時,才會顯示這項屬性。

        • levelOfControl

          設定的控制層級。

        • T

          設定的值。

    • returns

      Promise&lt;object&gt;

      Chrome 96 以上版本

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

  • set

    void

    Promise

    設定某個設定的值。

    set 函式如下所示:

    (details: object, callback?: function) => {...}

    • 詳細資料

      物件

      要變更的設定。

      • 範圍

        配置的設置位置 (預設值:一般)。

      • T

        設定的值。 請注意,每項設定都有特定的值類型,該類型會隨設定說明。擴充功能不得設定不同類型的值。

    • 回呼

      函式 選用

      callback 參數如下所示:

      () => void

    • returns

      承諾<void>

      Chrome 96 以上版本

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

ChromeSettingScope

Chrome 44 以上版本

ChromeSetting 的範圍。下列其中一項權限:

  • regular:一般設定檔的設定 (如果未覆寫設定,無痕模式設定檔就會沿用這項設定)
  • regular\_only:僅用於一般設定檔的設定 (不受無痕設定檔沿用)
  • incognito\_persistent:適用於瀏覽器重新啟動後仍然有效的無痕模式設定檔設定 (會覆寫一般偏好設定)。
  • incognito\_session\_only:您只能在無痕模式工作階段中設置的無痕設定檔,而且會在無痕模式工作階段結束後刪除這項設定 (會覆寫一般和 families_persistent 偏好設定)。

列舉

"regular"

"regular_only"

"incognito_persistent"

"incognito_session_only"

LevelOfControl

Chrome 44 以上版本

下列其中一項權限:

  • not\_controllable:無法由任何擴充功能控制
  • controlled\_by\_other\_extensions:由優先順序較高的擴充功能控制
  • controllable\_by\_this\_extension:可由這個擴充功能控制
  • controlled\_by\_this\_extension:由這個擴充功能控制

列舉

"not_controllable"

&quot;controlled_by_other_extensions&quot;

&quot;controllable_by_this_extension&quot;

&quot;controlled_by_this_extension&quot;