Zaregistrujte onStartup a onInstalled synchronně na nejvyšší úrovni service workeru Manifest V3, když mají tyto události použít zvolený proxy. Pro rozšíření záměrně pevně vázané na jednu trasu:

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 musí deklarovat oprávnění proxy a pojmenovat tento pracovník na pozadí. Pro povolenou trasu veřejného prohlížení bez ověřování proxy nahraďte koncový bod kandidátem ze seznamu HTTP proxy a port ponechte jako celé číslo.

onStartup je spuštění profilu s nainstalovaným rozšířením. onInstalled zahrnuje i aktualizace, včetně opětovného načtení rozbaleného rozšíření, které se počítá jako aktualizace. Událost vytvoření okna popisuje každé okno a může v jedné relaci nastat opakovaně.

Pokud rozšíření ukládá profily nebo má vypínač, nechte obsluhu načíst a použít tuto volbu, místo aby při každé aktualizaci obnovila pevně zapsanou výchozí hodnotu. Registrace posluchačů zůstává na nejvyšší úrovni; asynchronní práce může začít, když Chrome obsluhu zavolá.

Během vývoje zkoušejte instalaci a spuštění profilu odděleně, a u každého ověřte výsledek konfigurace. Jsou to dvě cesty inicializace, ne důkaz získaný otevřením jiného okna.

Související články