說明
chrome.types API 包含 Chrome 的類型宣告。
Chrome 設定
ChromeSetting 類型提供一組通用函式 (get()、set() 和 clear()),以及 Chrome 瀏覽器設定的事件發布工具 (onChange)。Proxy 設定範例說明這些函式的預期用途。
範圍和生命週期
Chrome 區分三種不同的瀏覽器設定範圍:
regular- 在
regular範圍內設定的設定會套用至一般瀏覽器視窗,如果未覆寫,則會由無痕視窗繼承。這些設定會儲存到磁碟,並保留到由管理擴充功能清除,或管理擴充功能停用或解除安裝為止。 incognito_persistent
在 - 設定僅適用於無痕視窗。在這些情況下,系統會覆寫
regular設定。這些設定會儲存到磁碟,並保留到由管理擴充功能清除,或管理擴充功能停用或解除安裝為止。 incognito_session_only
在 - 設定僅適用於無痕視窗。在這些情況下,系統會覆寫
regular和incognito_persistent設定。這些設定不會儲存到磁碟,並會在最後一個無痕視窗關閉時清除。必須至少開啟一個無痕視窗,才能設定這些選項。
incognito_persistent 範圍內設定的 incognito_session_only 範圍內設定的 優先順序
Chrome 會在不同層級管理設定。下列清單說明可能影響有效設定的層級,按優先順序遞增排列。
- 作業系統提供的系統設定
- 指令列參數
- 擴充功能提供的設定
- 政策
如清單所示,政策可能會覆寫您透過擴充功能指定的任何變更。您可以使用 get() 函式,判斷擴充功能是否能提供設定,或這項設定是否會遭到覆寫。
如前所述,Chrome 允許一般視窗和無痕視窗使用不同設定。以下範例說明這項行為。假設沒有任何政策會覆寫設定,且擴充功能可以設定一般視窗 (R) 和無痕視窗 (I) 的設定。
- 如果只設定 (R),這些設定會同時套用至一般和無痕視窗。
- 如果只設定 (I),這些設定只會對無痕視窗生效。一般視窗會使用由較低層級 (指令列選項和系統設定) 決定的設定。
- 如果同時設定 (R) 和 (I),系統會分別對一般視窗和無痕視窗套用對應的設定。
如果兩個以上的擴充功能想將同一項設定設為不同值,則以最近安裝的擴充功能為準。如果最近安裝的擴充功能只設定 (I),則一般視窗的設定可由先前安裝的擴充功能定義。
設定的「有效」值是考量優先順序規則後得出的結果。Chrome 會使用這個值。
類型
ChromeSetting
可存取 Chrome 瀏覽器設定的介面。如需範例,請參閱 accessibilityFeatures。
屬性
-
onChange
Event<functionvoidvoid>
設定變更後觸發。
onChange.addListener函式如下所示:(callback: function) => {...}
-
callback
函式
callback參數如下:(details: object) => void
-
詳細資料
物件
-
incognitoSpecific
布林值 選填
變更的值是否僅限於無痕模式工作階段。只有在使用者於無痕模式啟用擴充功能時,系統才會顯示這個屬性。
-
levelOfControl
設定的控制層級。
-
值
T
變更後的設定值。
-
-
-
-
關閉
void
清除設定,還原所有預設值。
clear函式如下所示:(details: object) => {...}
-
詳細資料
物件
要清除的設定。
-
範圍
清除設定的位置 (預設:一般)。
-
-
returns
承諾<void>
Chrome 96 以上版本 Chrome 148 以上版本中的 browser.*在清除作業完成時呼叫。
-
-
get
void
取得設定值。
get函式如下所示:(details: object) => {...}
-
詳細資料
物件
應考慮的設定。
-
incognito
布林值 選填
是否傳回適用於無痕模式工作階段的值 (預設為 false)。
-
-
returns
Promise<object>
Chrome 96 以上版本 Chrome 148 以上版本中的 browser.*
-
-
set
void
設定某項設定的值。
set函式如下所示:(details: object) => {...}
-
詳細資料
物件
要變更的設定。
-
範圍
設定位置 (預設:一般)。
-
值
T
設定的值。 請注意,每項設定都有特定的值類型,並與設定一起說明。擴充功能不應設定不同類型的值。
-
-
returns
承諾<void>
Chrome 96 以上版本 Chrome 148 以上版本中的 browser.*在設定作業完成時呼叫。
-
ChromeSettingScope
ChromeSetting 的範圍。下列其中一項權限:
regular:一般設定檔的設定 (如果未在其他地方覆寫,則由無痕模式設定檔沿用),regular\_only:僅適用於一般設定檔 (無痕設定檔不會沿用),incognito\_persistent:無痕模式設定檔的設定,在瀏覽器重新啟動後仍會保留 (覆寫一般偏好設定),incognito\_session\_only:無痕模式設定檔的設定,只能在無痕模式工作階段期間設定,並在無痕模式工作階段結束時刪除 (會覆寫一般和 incognito_persistent 偏好設定)。
列舉
"regular"
"regular_only"
"incognito_persistent"
"incognito_session_only"
LevelOfControl
下列其中一項權限:
not\_controllable:無法由任何擴充功能控制controlled\_by\_other\_extensions:由優先順序較高的擴充功能控制controllable\_by\_this\_extension:可由這項擴充功能控制controlled\_by\_this\_extension:由這項擴充功能控制
列舉
"not_controllable"
"controlled_by_other_extensions"
"controllable_by_this_extension"
"controlled_by_this_extension"