Firefox' globale proxy-API kræver adgang til private vinduer
Kontroller udvidelsens adgang til privat browsing, når proxy.settings.set kaster en fejl, fordi den globale konfiguration påvirker både almindelige og private vinduer.
Firefox' globale proxyindstillinger påvirker både almindelige og private vinduer. Derfor kræver proxy.settings-API'et, at udvidelsen har adgang til private vinduer, selv når handlingen blev startet fra et almindeligt vindue.
Udvidelsen kan kontrollere den betingelse, før indstillingen ændres:
const allowed = await browser.extension.isAllowedIncognitoAccess();
if (!allowed) {
throw new Error('Private-window access is required for global proxy settings');
}
await browser.proxy.settings.set({ value: proxyConfig });proxyConfig er det eksisterende konfigurationsobjekt i Firefox-format. Udvidelsen har også brug for sin almindelige tilladelse til proxy-API'et.
Når manifestet tillader privat brug, styrer brugeren den adgang i udvidelsens administrationsoplysninger via Run in Private Windows. Kontrollen rapporterer det valg; den giver ikke tilladelsen automatisk.
Uden den nødvendige adgang kaster proxy.settings.set en undtagelse. Det sker, før udvidelsen har demonstreret nogen forbindelse til den foreslåede proxy, så udskiftning af dens IP eller port er ikke relateret til denne fejl.
Håndtér afvisningen i udvidelsens brugergrænseflade, og bevar brugerens valg. Når tilladelsen og anvendelsen af konfigurationen lykkes, skal du vurdere den faktiske destinationsrute separat.