Registrirajte onStartup i onInstalled sinhrono na najvišoj razini service workera Manifest V3 kada ti događaji trebaju primijeniti odabrani proxy. Za proširenje namjerno vezano za jednu rutu:

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 mora deklarirati dozvolu za proxy i imenovati ovaj pozadinski worker. Za dopuštenu rutu javnog pregledanja bez proxy autentifikacije zamijenite krajnju točku kandidatom iz popisa HTTP proxyja, a port ostavite cijelim brojem.

onStartup je pokretanje profila s instaliranim proširenjem. onInstalled uključuje i ažuriranja, uključujući ponovno učitavanje neupakiranog proširenja koje se tretira kao ažuriranje. Događaj stvaranja prozora opisuje svaki prozor i može se ponavljati u jednoj sesiji.

Ako proširenje ima spremljene profile ili prekidač za isključivanje, neka rukovatelj učita i primijeni taj odabir umjesto da pri svakom ažuriranju vraća tvrdo kodiranu zadanu vrijednost. Registracija slušatelja ostaje na najvišoj razini; asinkroni rad može početi kada Chrome pozove rukovatelja.

Tijekom razvoja odvojeno isprobajte instalaciju i pokretanje profila, provjeravajući rezultat konfiguracije za svaki. To su dva puta inicijalizacije, a ne dokaz dobiven otvaranjem drugog prozora.

Povezani članci