Deskripsi
chrome.types
API berisi deklarasi jenis untuk Chrome.
Setelan Chrome
Prototipe ChromeSetting
menyediakan sekumpulan fungsi umum (get()
, set()
, dan clear()
)
serta penerbit peristiwa (onChange
) untuk setelan browser Chrome. Setelan proxy
contoh menunjukkan bagaimana fungsi tersebut dimaksudkan untuk digunakan.
Ruang lingkup dan siklus hidup
Chrome membedakan antara tiga cakupan setelan browser yang berbeda:
regular
- Setelan yang ditetapkan dalam cakupan
regular
berlaku untuk jendela browser biasa dan diwarisi oleh mode samaran jendela jika tidak ditimpa. Pengaturan ini disimpan ke {i>disk <i}dan tetap berlaku sampai ekstensi tersebut akan diizinkan oleh ekstensi yang mengatur, atau ekstensi yang mengatur dinonaktifkan atau di-uninstal. incognito_persistent
- Setelan yang disetel dalam cakupan
incognito_persistent
hanya berlaku untuk jendela samaran. Untuk itu, mereka mengganti setelanregular
. Setelan ini disimpan ke disk dan tetap berlaku sampai disetujui oleh ekstensi yang mengatur, atau ekstensi yang mengatur dinonaktifkan atau di-uninstal. incognito_session_only
- Setelan yang disetel dalam cakupan
incognito_session_only
hanya berlaku untuk jendela samaran. Untuk itu, mereka mengganti setelanregular
danincognito_persistent
. Pengaturan ini tidak disimpan ke {i>disk<i} dan akan dihapus saat jendela samaran terakhir ditutup. Parameter ini hanya dapat ditetapkan jika terdapat minimal satu jendela samaran terbuka.
Prioritas
Chrome mengelola setelan pada berbagai lapisan. Daftar berikut menjelaskan lapisan yang mungkin memengaruhi pengaturan yang efektif, dalam meningkatkan urutan prioritas.
- Setelan sistem yang disediakan oleh sistem operasi
- Parameter command line
- Setelan yang disediakan oleh ekstensi
- Kebijakan
Seperti yang tersirat dalam daftar, kebijakan mungkin mengesampingkan perubahan apa pun yang ditetapkan dengan ekstensi Anda. Anda
dapat menggunakan fungsi get()
untuk menentukan apakah ekstensi Anda mampu menyediakan setelan
atau apakah setelan ini akan diganti.
Seperti yang dibahas di atas, Chrome memungkinkan penggunaan setelan yang berbeda untuk jendela reguler dan samaran Windows. Contoh berikut menggambarkan perilaku tersebut. Asumsikan bahwa tidak ada kebijakan yang menggantikan dan ekstensi itu dapat menyetel setelan untuk jendela reguler (R) dan setelan untuk jendela samaran (I).
- Jika hanya (R) yang disetel, setelan ini berlaku untuk jendela reguler dan samaran.
- Jika hanya (I) yang disetel, setelan ini hanya berlaku untuk jendela samaran. Jendela reguler gunakan setelan yang ditentukan oleh lapisan bawah (opsi command line dan setelan sistem).
- Jika (R) dan (I) disetel, setelan masing-masing akan digunakan untuk reguler dan samaran Windows.
Jika dua atau beberapa ekstensi ingin menetapkan setelan yang sama untuk nilai yang berbeda, ekstensi akan diinstal yang terbaru akan diprioritaskan dibandingkan ekstensi lainnya. Jika ekstensi yang terakhir diinstal hanya menetapkan (I), setelan jendela reguler dapat ditentukan oleh opsi ekstensi.
Nilai efektif setelan adalah nilai yang dihasilkan dari mempertimbangkan aturan prioritas. 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 perubahan setelan.
Fungsi
onChange.addListener
akan terlihat seperti ini:(callback: function) => {...}
-
callback
fungsi
Parameter
callback
terlihat seperti ini:(details: object) => void
-
detail
objek
-
incognitoSpecific
boolean opsional
Apakah nilai yang telah berubah khusus untuk sesi samaran. Properti ini hanya akan ada jika pengguna telah mengaktifkan ekstensi dalam mode samaran.
-
levelOfControl
Tingkat kontrol setelan.
-
nilai
S
Nilai setelan setelah perubahan.
-
-
-
-
hapus
void
JanjiMenghapus setelan, memulihkan nilai default apa pun.
Fungsi
clear
akan terlihat seperti ini:(details: object, callback?: function) => {...}
-
detail
objek
Setelan yang akan dihapus.
-
cakupan
ChromeSettingScope opsional
Tempat untuk menghapus setelan (default: reguler).
-
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
-
akan menampilkan
Janji<void>
Chrome 96 dan yang lebih baruPromise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.
-
-
get
void
JanjiMendapatkan nilai setelan.
Fungsi
get
akan terlihat seperti ini:(details: object, callback?: function) => {...}
-
detail
objek
Setelan mana yang perlu dipertimbangkan.
-
samaran
boolean opsional
Apakah akan menampilkan nilai yang berlaku untuk sesi samaran (default salah).
-
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:(details: object) => void
-
detail
objek
Detail nilai yang berlaku saat ini.
-
incognitoSpecific
boolean opsional
Apakah nilai efektif tersebut khusus untuk sesi samaran. Properti ini hanya akan ada jika properti
incognito
dalam parameterdetails
dariget()
bernilai benar (true). -
levelOfControl
Tingkat kontrol setelan.
-
nilai
S
Nilai setelan.
-
-
-
akan menampilkan
Promise<object>
Chrome 96 dan yang lebih baruPromise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.
-
-
set
void
JanjiMenetapkan nilai setelan.
Fungsi
set
akan terlihat seperti ini:(details: object, callback?: function) => {...}
-
detail
objek
Setelan yang akan diubah.
-
cakupan
ChromeSettingScope opsional
Tempat menetapkan setelan (default: reguler).
-
nilai
S
Nilai setelan. Perhatikan bahwa setiap setelan memiliki jenis nilai tertentu, yang dijelaskan bersama dengan setelannya. Ekstensi tidak boleh menetapkan nilai jenis yang berbeda.
-
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
-
akan menampilkan
Janji<void>
Chrome 96 dan yang lebih baruPromise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan 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 meskipun browser dimulai ulang (mengganti preferensi reguler),incognito\_session\_only
: setelan untuk profil samaran yang hanya dapat disetel selama sesi samaran dan dihapus saat sesi samaran berakhir (menggantikan preferensi reguler dan samaran_persistent).
Enum
"reguler"
"khusus_reguler"
"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"
"controlled_by_other_extensions"
"controllable_by_this_extension"
"controlled_by_this_extension"