Registrer onStartup og onInstalled synkront på øverste nivå i en Manifest V3-tjenestearbeider når disse hendelsene skal bruke den valgte proxyen. For en utvidelse som bevisst er låst til én 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);

Manifestet må erklære proxy-tillatelsen og navngi denne bakgrunnsarbeideren. For en tillatt offentlig nettleserrute uten proxy-autentisering, bytt ut endepunktet med en kandidat fra HTTP-proxylisten, og la porten være et heltall.

onStartup er profiloppstart med utvidelsen installert. onInstalled omfatter også oppdateringer, inkludert ny innlasting av en upakket utvidelse, som regnes som en oppdatering. Vindu-opprettet-hendelsen beskriver hvert vindu og kan utløses gjentatte ganger i én økt.

Hvis utvidelsen har lagrede profiler eller en avbryter, skal behandleren laste inn og bruke det valget i stedet for å tilbakestille en hardkodet standard ved hver oppdatering. Lytterregistrering blir værende på øverste nivå; asynkront arbeid kan starte når Chrome kaller behandleren.

Test installasjon og profiloppstart hver for seg under utviklingen, og kontroller konfigurasjonsresultatet for hver av dem. Det er to initialiseringsveier, ikke bevis som skaffes ved å åpne et annet vindu.

Relaterte artikler