Ужывайце проксі 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 выкліча апрацоўшчык.
Падчас распрацоўкі правярайце ўсталяванне і запуск профілю асобна, правяраючы вынік канфігурацыі для кожнага. Гэта два шляхі ініцыялізацыі, а не доказ, атрыманы адкрыццём іншага акна.