Daftarkan onStartup dan onInstalled secara sinkron di tingkat teratas service worker Manifest V3 saat peristiwa tersebut harus menerapkan proxy yang dipilih. Untuk ekstensi yang sengaja dipatok ke satu rute:

function applyProxy() {
  chrome.proxy.settings.set({
    value: {
      mode: 'fixed_servers',
      rules: {
        singleProxy: {
          scheme: 'http',
          host: 'proxy.example',
          port: 8080,
        },
      },
    },
    scope: 'regular',
  }, () => {
    if (chrome.runtime.lastError) {
      console.error(chrome.runtime.lastError.message);
    }
  });
}

chrome.runtime.onStartup.addListener(applyProxy);
chrome.runtime.onInstalled.addListener(applyProxy);

Manifest harus mendeklarasikan izin proxy dan menamai worker latar belakang ini. Untuk rute penjelajahan publik yang diizinkan tanpa autentikasi proxy, ganti endpoint dengan kandidat dari daftar proxy HTTP, dengan port tetap bilangan bulat.

onStartup adalah startup profil saat ekstensi terpasang. onInstalled juga mencakup pembaruan, termasuk memuat ulang ekstensi yang belum dikemas yang dianggap sebagai pembaruan. Peristiwa pembuatan jendela menjelaskan setiap jendela dan dapat terjadi berulang kali dalam satu sesi.

Jika ekstensi memiliki profil tersimpan atau tombol mati, biarkan handler memuat dan menerapkan pilihan itu alih-alih mengatur ulang nilai bawaan yang dikodekan pada setiap pembaruan. Pendaftaran listener tetap di tingkat teratas; pekerjaan asinkron dapat dimulai saat Chrome memanggil handler.

Uji instalasi dan startup profil secara terpisah selama pengembangan, dengan memeriksa hasil konfigurasi untuk masing-masing. Keduanya adalah dua jalur inisialisasi, bukan bukti yang diperoleh dengan membuka jendela lain.

Artikel terkait