Zaregistrujte onStartup a onInstalled synchrónne na najvyššej úrovni service workera Manifest V3, keď tieto udalosti majú použiť zvolený proxy. Pre rozšírenie zámerne pevne viazané 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í deklarovať oprávnenie proxy a pomenovať tento pracovník na pozadí. Pre povolenú trasu verejného prehliadania bez overovania proxy nahraďte koncový bod kandidátom zo zoznamu HTTP proxy a port ponechajte ako celé číslo.

onStartup je spustenie profilu s nainštalovaným rozšírením. onInstalled zahŕňa aj aktualizácie, vrátane opätovného načítania rozbaleného rozšírenia, ktoré sa počíta ako aktualizácia. Udalosť vytvorenia okna opisuje každé okno a môže v jednej relácii nastať opakovane.

Ak rozšírenie ukladá profily alebo má vypínač, nechajte obsluhu načítať a použiť túto voľbu namiesto obnovenia pevne zapísanej predvolenej hodnoty pri každej aktualizácii. Registrácia poslucháčov zostáva na najvyššej úrovni; asynchrónna práca sa môže začať, keď Chrome zavolá obsluhu.

Počas vývoja vyskúšajte inštaláciu a spustenie profilu oddelene, pričom pri každom overte výsledok konfigurácie. Sú to dve cesty inicializácie, nie dôkaz získaný otvorením iného okna.

Súvisiace články