Globalne API proxy Firefoksa wymaga dostępu do okien prywatnych
Sprawdź dostęp rozszerzenia do przeglądania prywatnego, gdy proxy.settings.set zgłasza błąd, ponieważ konfiguracja globalna dotyczy zarówno zwykłych, jak i prywatnych okien.
Globalne ustawienia proxy Firefoksa dotyczą zarówno zwykłych, jak i prywatnych okien. Dlatego API proxy.settings wymaga, aby rozszerzenie miało dostęp do okien prywatnych, nawet gdy operację rozpoczęto w zwykłym oknie.
Rozszerzenie może sprawdzić ten warunek przed zmianą ustawienia:
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 to istniejący obiekt konfiguracji w formacie Firefoksa. Rozszerzenie potrzebuje także zwykłego uprawnienia do API proxy.
Gdy manifest zezwala na użycie prywatne, użytkownik kontroluje ten dostęp w szczegółach zarządzania rozszerzeniem przez Run in Private Windows. Sprawdzenie zgłasza ten wybór; nie przyznaje uprawnienia automatycznie.
Bez wymaganego dostępu proxy.settings.set zgłasza wyjątek. Dzieje się to, zanim rozszerzenie wykaże jakiekolwiek połączenie z proponowanym proxy, więc zamiana jego adresu IP lub portu nie ma związku z tym niepowodzeniem.
Obsłuż odrzucenie w interfejsie rozszerzenia i zachowaj wybór użytkownika. Gdy uprawnienie i zastosowanie konfiguracji się powiodą, oceń rzeczywistą trasę docelową osobno.