說明
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
範圍中設定的設定僅適用於無痕視窗。因此 覆寫regular
和incognito_persistent
設定。這些設定不會儲存到磁碟,而且 系統也會清除上次關閉的無痕式視窗。至少要設定一項屬性 無痕式視窗已開啟。
優先順序
Chrome 會管理不同層級的設定。以下清單說明可能的圖層 按優先順序遞增排序有效的設定
- 作業系統提供的系統設定
- 指令列參數
- 擴充功能提供的設定
- 政策
正如清單所指,政策可能會覆寫您透過擴充功能指定的任何變更。個人中心
可以使用 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<object>
Chrome 96 以上版本Promise 適用於 Manifest V3 及以上版本,但系統會為 回溯相容性您無法在同一函式呼叫中同時使用兩者。 保證會以傳遞至回呼的相同類型來解析。
-
-
set
void
Promise設定某個設定的值。
set
函式如下所示:(details: object, callback?: function) => {...}
-
詳細資料
物件
要變更的設定。
-
範圍
配置的設置位置 (預設值:一般)。
-
值
T
設定的值。 請注意,每項設定都有特定的值類型,該類型會隨設定說明。擴充功能不得設定不同類型的值。
-
-
回呼
函式 選用
callback
參數如下所示:() => void
-
returns
承諾<void>
Chrome 96 以上版本Promise 適用於 Manifest V3 及以上版本,但系統會為 回溯相容性您無法在同一函式呼叫中同時使用兩者。 保證會以傳遞至回呼的相同類型來解析。
-
ChromeSettingScope
ChromeSetting 的範圍。下列其中一項權限:
regular
:一般設定檔的設定 (如果未覆寫設定,無痕模式設定檔就會沿用這項設定)regular\_only
:僅用於一般設定檔的設定 (不受無痕設定檔沿用)incognito\_persistent
:適用於瀏覽器重新啟動後仍然有效的無痕模式設定檔設定 (會覆寫一般偏好設定)。incognito\_session\_only
:您只能在無痕模式工作階段中設置的無痕設定檔,而且會在無痕模式工作階段結束後刪除這項設定 (會覆寫一般和 families_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"