Зарэгіструйце 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 выкліча апрацоўшчык.

Падчас распрацоўкі правярайце ўсталяванне і запуск профілю асобна, правяраючы вынік канфігурацыі для кожнага. Гэта два шляхі ініцыялізацыі, а не доказ, атрыманы адкрыццём іншага акна.

Падобныя артыкулы