Pas 'n Chrome-proxy toe by die uitbreiding se begin-gebeurtenisse
Registreer runtime-begin- en installasie-hanteerders vir 'n Manifest V3-proxy-uitbreiding in plaas daarvan om inisialisering aan 'n nuwe bladsyvenster te koppel.
Registreer onStartup en onInstalled sinchronies op die boonste vlak van 'n Manifest V3-dienswerker wanneer daardie gebeure die gekose proxy moet toepas. Vir 'n uitbreiding wat doelbewus aan een roete vassit:
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);Die manifest moet die proxy-toestemming verklaar en hierdie agtergronddienswerker benoem. Vir 'n toegelate openbare-blaai-roete sonder proxy-verifikasie, vervang die eindpunt met 'n kandidaat uit die HTTP-proxylys en hou die poort 'n heelgetal.
onStartup is profielbegin met die uitbreiding geïnstalleer. onInstalled sluit opdaterings in, insluitend die herlaai van 'n ongepakde uitbreiding wat as 'n opdatering geld. 'n Venster-geskepte gebeurtenis beskryf elke venster en kan herhaaldelik in een sessie vuur.
Vir 'n uitbreiding met gestoorde profiele of 'n afskakelaar, laat die hanteerder daardie keuse laai en toepas eerder as om elke keer 'n vasgekodeerde verstek te herstel. Luisteraarregistrasie bly op die boonste vlak; asinchrone werk kan begin wanneer Chrome die hanteerder roep.
Toets installasie en profielbegin afsonderlik tydens ontwikkeling, en gaan die konfigurasieresultaat vir elkeen na. Dit is twee inisialiseringspaaie, nie bewyse wat deur 'n ander venster oop te maak gelewer word nie.