browser.types

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 cara penggunaan fungsi ini.

Cakupan dan siklus proses

Chrome membedakan tiga cakupan setelan browser yang berbeda:

regular
Setelan yang ditetapkan dalam cakupan regular berlaku untuk jendela browser reguler dan diwarisi oleh jendela samaran jika tidak ditimpa. Setelan ini disimpan ke disk dan tetap ada 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 ini, setelan tersebut mengganti setelan regular. Setelan ini disimpan ke disk dan tetap ada 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 ini, setelan tersebut mengganti setelan regular dan incognito_persistent. Setelan ini tidak disimpan ke disk dan dihapus saat jendela samaran terakhir ditutup. Setelan ini hanya dapat ditetapkan 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.

  1. Setelan sistem yang disediakan oleh sistem operasi
  2. Parameter command line
  3. Setelan yang disediakan oleh ekstensi
  4. Kebijakan

Seperti yang ditunjukkan dalam daftar, kebijakan mungkin mengabaikan perubahan apa pun yang Anda tentukan dengan ekstensi. Anda dapat menggunakan fungsi get() untuk menentukan apakah ekstensi Anda dapat memberikan setelan atau apakah setelan ini akan diganti.

Seperti yang telah dibahas sebelumnya, Chrome memungkinkan penggunaan setelan yang berbeda untuk jendela reguler dan jendela samaran. Contoh berikut mengilustrasikan perilaku tersebut. Asumsikan bahwa tidak ada kebijakan yang menggantikan setelan dan bahwa ekstensi dapat menetapkan setelan untuk jendela reguler (R) dan setelan untuk jendela samaran (I).

  • Jika hanya (R) yang ditetapkan, setelan ini akan berlaku untuk jendela reguler dan samaran.
  • Jika hanya (I) yang ditetapkan, setelan ini hanya berlaku untuk jendela samaran. Jendela reguler menggunakan setelan yang ditentukan oleh lapisan yang lebih rendah (opsi command line dan setelan sistem).
  • Jika (R) dan (I) ditetapkan, setelan masing-masing akan digunakan untuk jendela reguler dan samaran.

Jika dua ekstensi atau lebih ingin menetapkan setelan yang sama ke nilai yang berbeda, ekstensi yang diinstal paling baru akan lebih diprioritaskan daripada ekstensi lainnya. Jika ekstensi yang terakhir diinstal hanya menetapkan (I), setelan jendela reguler dapat ditentukan oleh ekstensi yang diinstal sebelumnya.

Nilai efektif setelan adalah nilai yang dihasilkan dari pertimbangan aturan prioritas. Sertifikat ini digunakan oleh Chrome.

Jenis

ChromeSetting

Antarmuka yang memungkinkan akses ke setelan browser Chrome. Lihat accessibilityFeatures sebagai contoh.

Properti

  • onChange

    Event<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 bersifat khusus untuk sesi samaran. Properti ini hanya akan ada jika pengguna telah mengaktifkan ekstensi dalam mode samaran.

        • levelOfControl

          Tingkat kontrol setelan.

        • nilai

          T

          Nilai setelan setelah perubahan.

  • hapus

    void

    Menghapus setelan, memulihkan nilai default apa pun.

    Fungsi clear terlihat seperti:

    (details: object) => {...}

    • detail

      objek

      Setelan yang akan dihapus.

    • return

      Promise<void>

      Chrome 96+ browser.* sejak Chrome 148

      Dipanggil saat operasi penghapusan selesai.

  • get

    void

    Mendapatkan nilai setelan.

    Fungsi get terlihat seperti:

    (details: object) => {...}

    • detail

      objek

      Setelan yang perlu dipertimbangkan.

      • incognito

        boolean opsional

        Apakah akan menampilkan nilai yang berlaku untuk sesi samaran (default salah).

    • return

      Promise<object>

      Chrome 96+ browser.* sejak Chrome 148
  • tetapkan

    void

    Menetapkan nilai setelan.

    Fungsi set terlihat seperti:

    (details: object) => {...}

    • detail

      objek

      Setelan yang akan diubah.

      • cakupan

        Tempat untuk menetapkan setelan (default: reguler).

      • nilai

        T

        Nilai setelan. Perhatikan bahwa setiap setelan memiliki jenis nilai tertentu, yang dijelaskan bersama setelan tersebut. Ekstensi tidak boleh menetapkan nilai dari jenis yang berbeda.

    • return

      Promise<void>

      Chrome 96+ browser.* sejak Chrome 148

      Dipanggil saat operasi set selesai.

ChromeSettingScope

Chrome 44+ browser.* sejak Chrome 148

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 (mengganti preferensi reguler),
  • incognito\_session\_only: setelan untuk profil samaran yang hanya dapat ditetapkan selama sesi samaran dan dihapus saat sesi samaran berakhir (mengganti preferensi reguler dan incognito_persistent).

Enum

"regular"

"regular_only"

"incognito_persistent"

"incognito_session_only"

LevelOfControl

Chrome 44+ browser.* sejak Chrome 148

Salah satu

  • not\_controllable: tidak dapat dikontrol oleh ekstensi apa pun
  • controlled\_by\_other\_extensions: dikontrol oleh ekstensi dengan prioritas lebih tinggi
  • controllable\_by\_this\_extension: dapat dikontrol oleh ekstensi ini
  • controlled\_by\_this\_extension: dikontrol oleh ekstensi ini

Enum

"not_controllable"

"controlled_by_other_extensions"

"controllable_by_this_extension"

"controlled_by_this_extension"