Jak wyłączyć wyskakujące okienka w przeglądarce Firefox bez dodatków?

9

Przez ostatnie 5-10 lat korzystałem z Firefoksa i nigdy nie dowiedziałem się, jak prawidłowo wyłączyć wyskakujące okienka. Używam teraz Firefox 24.2.0 w systemie Linux bez Flasha i Java. Kiedyś po prostu wyłączałem JavaScript, który wydawał się działać (przynajmniej w przypadku stron, które nie wymagają JavaScript), ale nowe wersje Firefox usuwają tę funkcję. Uważam, że dominującym czasem, który tracę w ciągu dnia, jest zamykanie wyskakujących okien. Zwykle dostaję 10-500 wyskakujących okienek dziennie. W ciągu ostatnich lat intensywnie korzystałem z około 40 komputerów, wszystkie z różnymi wersjami systemu Linux i Windows oraz w różnych lokalizacjach (dom / praca / szkoła) i zawsze miałem ten sam problem. Więc to nie wydaje się być problemem złośliwego oprogramowania.

Przez te wszystkie lata zawsze sprawdzałem przycisk „Blokuj okna wyskakujące”: wprowadź opis zdjęcia tutaj

Ale wygląda na to, że nie robi tego, co chcę. Na przykład ta strona pokazała wyskakujące okienko po kliknięciu opisu. Również ta strona pokazuje wyskakujące okienko po kliknięciu opisu lub nazwy pliku. Czasami nawet dostaję strony z oknami wyskakującymi 4-10.

Może używam niewłaściwej opcji, aby wyłączyć wyskakujące okienka? Co właściwie robi ta opcja, którą włączyłem?

Pies
źródło
1
Czy domyślnie byłoby dla Ciebie blokowanie wszystkich wyskakujących okienek? A następnie ręcznie dodając wyjątki dla bezpiecznych / wymaganych stron?
i31415
@ and31415: Rzeczywiście, to by działało, moje pytanie dotyczy dokładnie, jak to zrobić.
Pies

Odpowiedzi:

9

Ustawienia Firefoksa

Wiele ustawień, szczególnie te najbardziej zaawansowane, nie jest dostępnych w oknie dialogowym opcji interfejsu użytkownika (UI).

Ustawienia preferencji zmodyfikowane z wartości domyślnych są zapisywane w prefs.jspliku. Zamiast bezpośredniej edycji tego pliku, najnowsze aplikacje Mozilli zawierają edytor konfiguracji, do którego można uzyskać dostęp z interfejsu aplikacji.

Źródło: Edycja konfiguracji

W przeglądarce Firefox wpisz about:configpasek adresu (pasek adresu) i naciśnij, Enteraby wyświetlić listę preferencji [...]. Jeśli zobaczysz stronę z komunikatem ostrzegawczym „Może to unieważnić gwarancję!”, Kliknij przycisk „Będę ostrożny, obiecuję!”, Aby kontynuować (w rzeczywistości nie ma żadnej gwarancji, jest to bardziej żart, aby upewnić się, że użytkownicy są świadomi tego, co zamierzają zrobić). Użyj tam pola wyboru, aby uniknąć ostrzeżenia w przyszłości.

Aby dodać nową preferencję, kliknij kontekst (kliknij prawym przyciskiem myszy) w dowolnym miejscu na liście preferencji. W menu kontekstowym wybierz Nowy, a następnie wybierz rodzaj dodawanej preferencji.

Aby zmodyfikować istniejącą preferencję, kliknij preferencję kontekstowo (kliknij prawym przyciskiem myszy), wybierz opcję Modyfikuj i wpisz nową wartość.

Aby zresetować preferencję do wartości domyślnej lub usunąć dodaną preferencję, kliknij kontekst (kliknij prawym przyciskiem myszy) na preferencji i wybierz Resetuj .

Możesz użyć paska wyszukiwania u góry about:configstrony, aby przefiltrować preferencje, które chcesz sprawdzić. Pasek wyszukiwania nie rozróżnia wielkości liter, w przeciwieństwie do rzeczywistych zmiennych konfiguracyjnych.

Źródło: about: config

Preferencje związane z wyskakującymi oknami

Oto pełna lista, którą wymyśliłem:

  • browser.link.open_newwindow

    Wpisz Integer
    Wartość domyślna 3

    Opis Kontroluje gdzie otwierać linki, które normalnie otwierałyby się w nowym oknie. Możliwa wartość:

    • 1 (lub cokolwiek innego) - otwórz w bieżącej karcie lub oknie.
    • 2 - otwórz w nowym oknie.
    • 3 - otwórz w nowej karcie.


    Włączenie lub wyłączenie opcji Otwórz nowe okna w nowej karcie zamiast opcji interfejsu użytkownika spowoduje przełączenie tej preferencji między 3i 2.

  • browser.link.open_newwindow.restriction

    Wpisz Integer
    Wartość domyślna 2

    Opis Ogranicza wszystkie nowe okna otwierane przez JavaScript. Możliwa wartość:

    • 0 - zawsze zmuszaj nowe okna do zakładki.
    • 1 - nie ograniczaj nowych okien.
    • 2 - zmusza okna, które nie określają ich funkcji (np. szerokość, wysokość) do zakładek.

  • browser.popups.showPopupBlocker

    Wpisz Boolean
    Wartość domyślna true

    Opis Określa, czy wyświetlać ikonę na pasku stanu, gdy wyskakujące okienko zostanie zablokowane. Przestarzałe, po prostu pozostaw to tak, jak jest.

  • dom.disable_open_click_delay

    Wpisz Integer
    Wartość domyślna 1000

    Opis Obsługuje wyskakujące okienka zgodnie z bieżącymi ustawieniami blokowania wyskakujących okienek, gdy są tworzone za pomocą zdarzenia synchronizacji JavaScript z opóźnieniem mniejszym niż ta wartość (w milisekundach).

  • dom.disable_open_during_load

    Wpisz Boolean
    Wartość domyślna true

    Opis Po włączeniu blokuje wyskakujące okienka utworzone podczas ładowania strony. To ustawienie jest równoważne opcji blokowania wyskakującego okienka interfejsu użytkownika.

  • dom.disable_window_flip

    Wpisz Boolean
    Wartość domyślna true

    Opis Określa, czy okna można ustawić za pomocą JavaScript.

  • dom.disable_window_move_resize

    Wpisz Boolean
    Wartość domyślna false

    Opis Określa, czy okna można przenosić lub zmieniać ich rozmiar za pomocą JavaScript.

  • dom.disable_window_open_feature.*

    Opis Zamiast jednej preferencji, jest to zestaw różnych ustawień boolowskich, które mogą zapobiec wyłączeniu określonej funkcji wyskakującej (np. Paska adresu, pasków przewijania itp.) Po ustawieniu na true. Dostępne preferencje:

    • dom.disable_window_open_feature.close
    • dom.disable_window_open_feature.location
    • dom.disable_window_open_feature.menubar
    • dom.disable_window_open_feature.minimizable
    • dom.disable_window_open_feature.personalbar
    • dom.disable_window_open_feature.resizable
    • dom.disable_window_open_feature.scrollbars
    • dom.disable_window_open_feature.status
    • dom.disable_window_open_feature.titlebar
    • dom.disable_window_open_feature.toolbar

  • dom.disable_window_status_change

    Wpisz Boolean
    Wartość domyślna true

    Opis Po włączeniu zapobiega zmianie tekstu paska stanu za pomocą JavaScript.

  • dom.popup_allowed_events

    Wpisz ciąg
    Wartość domyślna change click dblclick mouseup reset submit touchend

    Opis Rozdzielona spacjami lista zdarzeń, które mogą tworzyć wyskakujące okienka. Chociaż nieudokumentowane, ustawienie wartości na pojedynczy znak spacji spowoduje utworzenie pustej listy, a tym samym wyłączenie wszystkich wyskakujących okienek (nadal obowiązują wyjątki). Ten sam efekt można osiągnąć, określając nieistniejące zdarzenie (np none.).

  • dom.popup_maximum

    Wpisz Integer
    Wartość domyślna 20

    Opis Ogranicza liczbę jednocześnie otwieranych okien podręcznych.

  • privacy.popups.disable_from_plugins

    Wpisz Integer
    Wartość domyślna 2

    Opis Kontroluje wyskakujące okienka tworzone przez wtyczki (np. Adobe Flash Player). Możliwa wartość:

    • 0 - bez ograniczeń.
    • 1- ogranicza liczbę wyskakujących okienek do dom.popup_maximum.
    • 2 - blokuj wszystkie wyskakujące okienka z wyjątkiem witryn z białej listy.
    • 3 - blokuj wszystkie wyskakujące okienka.

  • privacy.popups.policy

    Wpisz Integer
    Wartość domyślna 1

    Opis Przestarzałe. Użyj dom.disable_open_during_loadzamiast tego.

  • privacy.popups.showBrowserMessage

    Wpisz Boolean
    Wartość domyślna true

    Opis Określa, czy wyświetlać pasek informacyjny, gdy jeden lub więcej pop-us zostanie zablokowanych. Można to zmienić za pomocą opcji Nie pokazuj paska informacji, gdy wyskakujące okienka są zablokowane .

  • privacy.popups.usecustom

    Wpisz Boolean
    Wartość domyślna true

    Opis Najwyraźniej nieużywany.

Zalecane ustawienia

Są to wartości, których obecnie używam dla ustawień wymienionych powyżej; możesz samodzielnie eksperymentować z innymi ustawieniami. Testowane z Firefoksem 27.0.1.

browser.link.open_newwindow;3
browser.link.open_newwindow.restriction;0
browser.popups.showPopupBlocker;true
dom.disable_open_click_delay;1000
dom.disable_open_during_load;true
dom.disable_window_flip;true
dom.disable_window_move_resize;true
dom.disable_window_open_feature.close;true
dom.disable_window_open_feature.location;true
dom.disable_window_open_feature.menubar;true
dom.disable_window_open_feature.minimizable;true
dom.disable_window_open_feature.personalbar;true
dom.disable_window_open_feature.resizable;true
dom.disable_window_open_feature.scrollbars;true
dom.disable_window_open_feature.status;true
dom.disable_window_open_feature.titlebar;true
dom.disable_window_open_feature.toolbar;true
dom.disable_window_status_change;true
dom.popup_allowed_events; 
dom.popup_maximum;20
privacy.popups.disable_from_plugins;2
privacy.popups.policy;1
privacy.popups.showBrowserMessage;false
privacy.popups.usecustom;true

Dalsza lektura

i31415
źródło
2
Ustawienie dom.popup_allowed_eventsdo pracy działało. Inne rzeczy, których próbowałem nie zadziałały: browser.link.open_newwindow=1spowodowały, że strona mediafire otworzyła się na: pusta w nowym oknie i bieżąca strona zmieniła się na about: pusta również; Zatoka piratów otworzy wyskakujące okienko i natychmiast się zamknie. browser.link.open_newwindow.restriction=0działało (sprawiło, że wyskakujące okienka wyświetlały się w nowej karcie). dom.disable_open_click_delay=90000, dom.popup_maximum=0i dom.popup_maximum=1nic nie zmieniło.
Pies
3
Utworzyłem i połączyłem konto Superuser, aby móc głosować nad oryginalnym pytaniem i doskonałą odpowiedzią. Do tej pory użyłem go do skonfigurowania co najmniej pięciu instalacji Firefoksa. W oparciu o twoją odpowiedź proces, który dla mnie działa, jest naprawdę krótki. Idź do: about: config. Ustaw browser.link.open_newwindow.restriction = 0 i dom.popup_allowed_events = ''. Działa pięknie!
DaveGauer