Registrér onStartup og onInstalled synkront på øverste niveau i en Manifest V3-service worker, når disse begivenheder skal anvende den valgte proxy. Til en udvidelse, der med vilje 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 skal erklære proxy-tilladelsen og navngive denne baggrunds-worker. For en tilladt offentlig browsing-rute uden proxy-godkendelse erstattes slutpunktet med en kandidat fra HTTP-proxylisten, mens porten forbliver et heltal.

onStartup er profilopstart med udvidelsen installeret. onInstalled omfatter også opdateringer, herunder genindlæsning af en upakket udvidelse, som tæller som en opdatering. Vindue-oprettelsesbegivenheden beskriver hvert vindue og kan udløses gentagne gange i én session.

Hvis udvidelsen har gemte profiler eller en afbryder, skal handleren indlæse og anvende det valg i stedet for at nulstille en hårdkodet standard ved hver opdatering. Lytterregistrering bliver på øverste niveau; asynkront arbejde kan begynde, når Chrome kalder handleren.

Afprøv installation og profilopstart hver for sig under udviklingen, og kontrollér konfigurationsresultatet for hver af dem. Det er to initialiseringsveje, ikke bevis, der skaffes ved at åbne et andet vindue.

Relaterede artikler