Приложете прокси на Chrome при стартовите събития на разширението
Регистрирайте манипулатори за стартиране и инсталиране на прокси разширение за Manifest V3, вместо да обвързвате инициализацията с нов прозорец на браузъра.
Регистрирайте 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 извика манипулатора.
По време на разработката тествайте инсталирането и стартирането на профил поотделно, като проверявате резултата от конфигурацията за всяко. Това са два пътя за инициализация, а не доказателство, получено чрез отваряне на друг прозорец.