Deskripsi
chrome.types
API berisi deklarasi jenis untuk Chrome.
Setelan Chrome
Jenis ChromeSetting
menyediakan kumpulan fungsi umum (get()
, set()
, dan clear()
)
serta penayang peristiwa (onChange
) untuk setelan browser Chrome. Contoh setelan proxy menunjukkan bagaimana fungsi ini dimaksudkan untuk digunakan.
Cakupan dan siklus proses
Chrome membedakan antara tiga cakupan setelan browser yang berbeda:
regular
- Setelan yang ditetapkan dalam cakupan
regular
berlaku untuk jendela browser reguler dan diwarisi oleh jendela mode samaran jika tidak ditimpa. Setelan ini disimpan ke disk dan tetap berlaku hingga dihapus oleh ekstensi yang mengatur, atau ekstensi yang mengatur dinonaktifkan atau di-uninstal. incognito_persistent
- Setelan yang ditetapkan dalam cakupan
incognito_persistent
hanya berlaku untuk jendela samaran. Untuk melakukannya, fungsi tersebut akan menggantikan setelanregular
. Setelan ini disimpan ke disk dan tetap berlaku hingga dihapus oleh ekstensi yang mengatur, atau ekstensi yang mengatur dinonaktifkan atau di-uninstal. incognito_session_only
- Setelan yang ditetapkan dalam cakupan
incognito_session_only
hanya berlaku untuk jendela samaran. Untuk keduanya, fungsi tersebut akan menggantikan setelanregular
danincognito_persistent
. Setelan ini tidak disimpan ke disk dan akan dihapus saat jendela samaran terakhir ditutup. Parameter ini hanya dapat disetel jika setidaknya satu jendela samaran terbuka.
Prioritas
Chrome mengelola setelan di berbagai lapisan. Daftar berikut menjelaskan lapisan yang dapat memengaruhi setelan efektif, dalam urutan prioritas yang meningkat.
- Setelan sistem yang disediakan oleh sistem operasi
- Parameter command line
- Setelan disediakan oleh ekstensi
- Kebijakan
Seperti yang tercantum dalam daftar, kebijakan dapat mengesampingkan perubahan apa pun yang Anda tentukan dengan ekstensi Anda. Anda dapat menggunakan fungsi get()
untuk menentukan apakah ekstensi Anda mampu menyediakan setelan atau apakah setelan ini akan diganti.
Seperti yang telah dibahas sebelumnya, Chrome memungkinkan penggunaan setelan yang berbeda untuk jendela reguler dan jendela mode samaran. Contoh berikut mengilustrasikan perilaku tersebut. Asumsikan bahwa tidak ada kebijakan yang menggantikan setelan dan ekstensi dapat menetapkan setelan untuk jendela reguler (R) dan setelan untuk jendela samaran (I).
- Jika hanya (R) yang disetel, setelan ini akan berlaku untuk jendela reguler dan samaran.
- Jika hanya (I) yang disetel, setelan ini hanya berlaku untuk jendela samaran. Jendela reguler menggunakan setelan yang ditentukan oleh lapisan bawah (opsi command line dan setelan sistem).
- Jika (R) dan (I) ditetapkan, setelan masing-masing akan digunakan untuk jendela reguler dan mode samaran.
Jika dua ekstensi atau lebih ingin menetapkan setelan yang sama ke nilai yang berbeda, ekstensi yang diinstal terakhir lebih diprioritaskan daripada ekstensi lainnya. Jika ekstensi yang baru diinstal hanya menyetel (I), setelan jendela reguler dapat ditentukan oleh ekstensi yang diinstal sebelumnya.
Nilai efektif setelan adalah nilai yang dihasilkan dari mempertimbangkan aturan prioritas. ID ini digunakan oleh Chrome.
Jenis
ChromeSetting
Antarmuka yang memungkinkan akses ke setelan browser Chrome. Lihat accessibilityFeatures
untuk mengetahui contohnya.
Properti
-
onChange
Peristiwa<functionvoidvoid>
Diaktifkan setelah setelan berubah.
Fungsi
onChange.addListener
terlihat seperti:(callback: function) => {...}
-
callback
fungsi
Parameter
callback
terlihat seperti:(details: object) => void
-
detail
objek
-
incognitoSpecific
boolean opsional
Apakah nilai yang telah berubah dikhususkan untuk sesi samaran. Properti ini hanya akan ada jika pengguna telah mengaktifkan ekstensi dalam mode samaran.
-
levelOfControl
Tingkat kontrol setelan.
-
value
T
Nilai setelan setelah perubahan.
-
-
-
-
hapus
void
PromiseMenghapus setelan, memulihkan nilai default apa pun.
Fungsi
clear
terlihat seperti:(details: object, callback?: function) => {...}
-
detail
objek
Setelan mana yang perlu dihapus.
-
cakupan
ChromeSettingScope opsional
Tempat menghapus setelan (default: reguler).
-
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:() => void
-
akan menampilkan
Promise<void>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.
-
-
get
void
PromiseMendapatkan nilai setelan.
Fungsi
get
terlihat seperti:(details: object, callback?: function) => {...}
-
detail
objek
Setelan mana yang perlu dipertimbangkan.
-
samaran
boolean opsional
Apakah akan menampilkan nilai yang berlaku untuk sesi samaran (default false).
-
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:(details: object) => void
-
detail
objek
Detail nilai efektif saat ini.
-
incognitoSpecific
boolean opsional
Apakah nilai efektif bersifat khusus untuk sesi samaran. Properti ini hanya akan ada jika properti
incognito
di parameterdetails
dariget()
bernilai benar (true). -
levelOfControl
Tingkat kontrol setelan.
-
value
T
Nilai setelan.
-
-
-
akan menampilkan
Promise<object>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.
-
-
set
void
PromiseMenetapkan nilai setelan.
Fungsi
set
terlihat seperti:(details: object, callback?: function) => {...}
-
detail
objek
Setelan mana yang akan diubah.
-
cakupan
ChromeSettingScope opsional
Tempat menetapkan setelan (default: reguler).
-
value
T
Nilai setelan. Perlu diketahui bahwa setiap setelan memiliki jenis nilai tertentu, yang dijelaskan bersama setelan. Ekstensi tidak boleh menetapkan nilai jenis yang berbeda.
-
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:() => void
-
akan menampilkan
Promise<void>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.
-
ChromeSettingScope
Cakupan ChromeSetting. Salah satu
regular
: setelan untuk profil reguler (yang diwarisi oleh profil samaran jika tidak diganti di tempat lain),regular\_only
: setelan hanya untuk profil reguler (tidak diwarisi oleh profil samaran),incognito\_persistent
: setelan untuk profil samaran yang tetap ada setelah browser dimulai ulang (menggantikan preferensi reguler),incognito\_session\_only
: setelan untuk profil samaran yang hanya dapat disetel selama sesi samaran dan dihapus saat sesi samaran berakhir (mengganti preferensi reguler dan samaran_persistent).
Enum
"regular"
"regular_only"
"incognito_persistent"
"incognito_session_only"
LevelOfControl
Salah satu
not\_controllable
: tidak dapat dikontrol oleh ekstensi apa puncontrolled\_by\_other\_extensions
: dikontrol oleh ekstensi dengan prioritas lebih tinggicontrollable\_by\_this\_extension
: dapat dikontrol oleh ekstensi inicontrolled\_by\_this\_extension
: dikontrol oleh ekstensi ini
Enum
"not_controllable"
"controllable_by_this_extension"
"controlled_by_this_extension"