Registreer onStartup en onInstalled synchroon op het hoogste niveau van een Manifest V3-serviceworker wanneer die gebeurtenissen de gekozen proxy moeten toepassen. Voor een extensie die bewust aan één route vastzit:

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);

Het manifest moet de proxytoestemming declareren en deze achtergrondworker een naam geven. Voor een toegestane openbare browsroute zonder proxy-authenticatie vervangt u het eindpunt door een kandidaat uit de HTTP-proxylijst, waarbij de poort een geheel getal blijft.

onStartup is profielstart met de extensie geïnstalleerd. onInstalled omvat ook updates, inclusief het herladen van een niet-verpakte extensie, dat als update telt. De gebeurtenis venster-gemaakt beschrijft elk venster en kan in één sessie herhaaldelijk afgaan.

Heeft de extensie opgeslagen profielen of een uitschakelaar, laat de handler dan die keuze laden en toepassen in plaats van bij elke update een hardgecodeerde standaard terug te zetten. Registratie van luisteraars blijft op het hoogste niveau; asynchroon werk kan beginnen wanneer Chrome de handler aanroept.

Test installatie en profielstart tijdens de ontwikkeling afzonderlijk, en controleer voor elk het resultaat van de configuratie. Het zijn twee initialisatiepaden, geen bewijs dat je krijgt door een ander venster te openen.

Gerelateerde artikelen