chrome.types

Deskripsi

chrome.types API berisi deklarasi jenis untuk Chrome.

Setelan Chrome

Jenis ChromeSetting memberikan kumpulan fungsi umum (get(), set(), dan clear()) serta penayang peristiwa (onChange) untuk setelan browser Chrome. Setelan proxy contoh menunjukkan bagaimana fungsi tersebut 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 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 setelan regular. 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 setelan regular dan incognito_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.

  1. Setelan sistem yang disediakan oleh sistem operasi
  2. Parameter command line
  3. Setelan yang disediakan oleh ekstensi
  4. 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 telah dibahas sebelumnya, 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

    Janji

    Menghapus setelan, memulihkan nilai default apa pun.

    Fungsi clear akan terlihat seperti ini:

    (details: object, callback?: function) => {...}

    • detail

      objek

      Setelan yang akan dihapus.

    • callback

      fungsi opsional

      Parameter callback terlihat seperti ini:

      () => void

    • akan menampilkan

      Janji<void>

      Chrome 96 dan yang lebih baru

      Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

  • get

    void

    Janji

    Mendapatkan 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 parameter details dari get() bernilai benar (true).

        • levelOfControl

          Tingkat kontrol setelan.

        • nilai

          S

          Nilai setelan.

    • akan menampilkan

      Promise&lt;object&gt;

      Chrome 96 dan yang lebih baru

      Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

  • set

    void

    Janji

    Menetapkan nilai setelan.

    Fungsi set akan terlihat seperti ini:

    (details: object, callback?: function) => {...}

    • detail

      objek

      Setelan yang akan diubah.

      • cakupan

        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 baru

      Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

ChromeSettingScope

Chrome 44 dan yang lebih baru

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

Chrome 44 dan yang lebih baru

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"

&quot;controlled_by_other_extensions&quot;

&quot;controllable_by_this_extension&quot;

&quot;controlled_by_this_extension&quot;