Застосовуйте проксі 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 викличе обробник.
Під час розробки перевіряйте встановлення та запуск профілю окремо, звіряючи результат конфігурації для кожного. Це два шляхи ініціалізації, а не доказ, отриманий відкриттям іншого вікна.