Chrome-Proxy bei den Start-Ereignissen der Erweiterung anwenden
Registrieren Sie Laufzeit- und Installations-Handler für eine Manifest-V3-Proxy-Erweiterung, statt die Initialisierung an ein neues Browserfenster zu binden.
Registrieren Sie onStartup und onInstalled synchron auf der obersten Ebene eines Manifest-V3-Service-Workers, wenn diese Ereignisse den ausgewählten Proxy anwenden sollen. Für eine Erweiterung, die absichtlich auf eine einzige Route festgelegt ist:
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);Das Manifest muss die Proxy-Berechtigung deklarieren und diesen Hintergrund-Worker benennen. Für eine erlaubte Route zum öffentlichen Browsen ohne Proxy-Authentifizierung ersetzen Sie den Endpunkt durch einen Kandidaten aus der HTTP-Proxy-Liste und lassen den Port eine ganze Zahl bleiben.
onStartup ist der Profilstart mit installierter Erweiterung. onInstalled umfasst auch Aktualisierungen, einschließlich des Neuladens einer entpackten Erweiterung, das als Aktualisierung gilt. Das Fenster-erstellt-Ereignis beschreibt jedes Fenster und kann in einer Sitzung mehrfach ausgelöst werden.
Hat die Erweiterung gespeicherte Profile oder einen Ausschalter, soll der Handler diese Auswahl laden und anwenden, statt bei jeder Aktualisierung einen fest kodierten Standard zurückzusetzen. Die Listener-Registrierung bleibt auf der obersten Ebene; asynchrone Arbeit kann beginnen, wenn Chrome den Handler aufruft.
Testen Sie Installation und Profilstart während der Entwicklung getrennt, indem Sie für beide das Ergebnis der Konfiguration prüfen. Das sind zwei Initialisierungspfade, kein Nachweis, der durch das Öffnen eines anderen Fensters entsteht.