Региструјте onStartup и onInstalled синхроно на највишем нивоу service worker-а Manifest V3 када ти догађаји треба да примене изабрани прокси. За проширење намерно везано за једну руту:

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 мора да декларише дозволу за прокси и именује овај позадински worker. За дозвољену руту јавног прегледања без прокси аутентификације замените крајњу тачку кандидатом са листе HTTP проксија, а порт оставите целим бројем.

onStartup је покретање профила са инсталираним проширењем. onInstalled обухвата и ажурирања, укључујући поновно учитавање неспакованог проширења које се рачуна као ажурирање. Догађај стварања прозора описује сваки прозор и може се понављати у једној сесији.

Ако проширење има сачуване профиле или прекидач за искључивање, нека руковалац учита и примени тај избор уместо да при сваком ажурирању враћа тврдо кодирану подразумевану вредност. Регистрација слушалаца остаје на највишем нивоу; асинхрони рад може почети када Chrome позове руковаоца.

Током развоја одвојено испробајте инсталацију и покретање профила, проверавајући резултат конфигурације за сваки. То су два пута иницијализације, а не доказ добијен отварањем другог прозора.

Повезани чланци