Registrujte onStartup i onInstalled sinhrono na najvišem nivou service workera Manifest V3 kada ti događaji treba da primene izabrani proxy. Za proširenje namerno 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 da deklariše dozvolu za proxy i imenuje ovaj pozadinski worker. Za dozvoljenu rutu javnog pregledanja bez proxy autentifikacije zamenite krajnju tačku kandidatom sa liste HTTP proxyja, a port ostavite celim brojem.

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

Ako proširenje ima sačuvane profile ili prekidač za isključivanje, neka rukovalac učita i primeni taj izbor umesto da pri svakom ažuriranju vraća tvrdo kodiranu podrazumevanu vrednost. Registracija slušalaca ostaje na najvišem nivou; asinhroni rad može početi kada Chrome pozove rukovaoca.

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

Povezani članci