Регистрирайте 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 извика манипулатора.

По време на разработката тествайте инсталирането и стартирането на профил поотделно, като проверявате резултата от конфигурацията за всяко. Това са два пътя за инициализация, а не доказателство, получено чрез отваряне на друг прозорец.

Подобни статии