chrome cofnij czynność „zapobiegaj tworzeniu dodatkowych okien dialogowych na tej stronie”


122

Czasami okazuje się, że muszę ponownie włączyć ostrzeganie w celu debugowania. Oczywiście mogę zamknąć kartę i załadować ją ponownie, ale czy jest lepszy sposób?

Odpowiedzi:


62

Nie. Ale naprawdę powinieneś używać console.log()zamiast alert()debugowania.

W Chrome ma nawet tę zaletę, że może drukować całe obiekty (nie tylko toString()).


10
Alerty są przydatne, ponieważ wpływają na czas. I introspekcja instrukcji console.log w inspektorze WWW może się czasem zdarzyć po wykonaniu zestawu kodu po logu konsoli, który ukrywa stan w wierszu, w którym został wykonany stan console.log.
Bjorn

10
@BjornTipling W tym celu możesz użyć debuggerlub punktu przerwania.
Ionică Bizău

1
Czy Twoja odpowiedź „nie” oznacza, że ​​nie ma innego sposobu na ponowne włączenie alertów lub uważasz, że osoba pytająca nie powinna ich używać?
LS

1
Wiem, że moja odpowiedź nie odpowiadała bezpośrednio na pytanie tak, jak została sformułowana, ale dostarczyła informacji, których szukał oryginalny plakat. Jeśli chodzi o odpowiedź Dentaku, to mogę z pewnym przekonaniem powiedzieć, że nie jest to poprawna odpowiedź, ponieważ oryginalny plakat wyraźnie mówi, że wie o tym rozwiązaniu i szuka czegoś innego.
Per Salbark

To 2017 i nieco późno, ale jak dla szukam tej informaton i znalazłem ten wątek, chciałbym dodać co następuje: Oświadczenie samo jest całkowicie poprawne i powinno się używać console.log, debuggerlub punkty przerwa na debugowanie. Ale odpowiedź na to pytanie jest błędna. Jest kilka przypadków, w których faktycznie chcesz użyć czegoś takiego jak JavaScript, confirm();a po naciśnięciu pola wyboru okno dialogowe nie zostanie wyświetlone. Tak więc pytanie brzmi: Czy nadal możesz to cofnąć lub nawet temu zapobiec, ponieważ CHCESZ to okno dialogowe dla własnej strony (nie dla anonimowych reklam)
Cagatay Ulubay

157

Zamknij kartę strony, na której wyłączyłeś alerty. Otwórz ponownie stronę w nowej karcie. To ustawienie obowiązuje tylko dla sesji, więc alerty zostaną ponownie włączone po rozpoczęciu nowej sesji w nowej karcie.


29

Zatem prawidłowa odpowiedź brzmi: TAK, jest lepszy sposób.

Kliknij kartę prawym przyciskiem myszy i wybierz opcję „Duplikuj”, a następnie zamknij oryginalną kartę, jeśli chcesz.

Alerty są ponownie włączane w duplikacie.

Zduplikowana karta wydaje się odtwarzać stan działania oryginalnej karty, więc możesz po prostu kontynuować, gdzie byłeś.


4
Do Twojej wiadomości, jeśli klikniesz środkowym przyciskiem ikonę odświeżania, zostanie ona zduplikowana. Klikając środkowym przyciskiem myszy przyciski Wstecz / Dalej otwierają również swoje strony w nowych kartach. Całkiem poręczne.
RobM

Chociaż narzędzia do debugowania są świetne, czasami dobrze jest po prostu wydrukować na ekranie bez przeglądania kodu debugera. To jest czyste. Nie musisz się zgadzać, ale zgadzam się z tą odpowiedzią.
ejbytes

@RobM Cóż, będę przeklęty. Nigdy nie wiedziałem, że środkowe kliknięcie może to zrobić.
ASalazar,

Z mojego doświadczenia wynika , że wyrażenie „zamknij oryginalną kartę, jeśli chcesz ” wydaje się mylące, ponieważ dopóki nie zamknę poprzedniej karty, alert nie pojawia się w nowej. Dlatego oryginalna zakładka musi zostać zamknięta.
Stan

6

Jeszcze 2 rozwiązania, z którymi miałem szczęście, gdy żadna karta nie zamknęła się i nie otworzyła strony na innej karcie ani nie zamknęła wszystkich kart w Chrome (i przeglądarce), a ponowne uruchomienie nie zadziałało:

1) Naprawiłem to na moim komputerze, zamykając kartę, wymuszając zamknięcie Chrome i ponownie uruchamiając przeglądarkę bez przywracania kart (Uwaga: na komputerze z systemem CentOS Linux).

2) Mój szef (również w CentOS) miał ten sam problem (alerty są dużą częścią procesu debugowania Javascript mojej firmy z wielu powodów, np. Spuścizny), ale moja pierwsza metoda nie zadziałała dla niego. Jednak udało mi się to naprawić za pomocą następującego procesu:

  • a) Utwórz pusty plik tekstowy o nazwie FixChrome.sh i wklej następujący skrypt bash:

    #! /bin/bash
    cd ~/.config/google-chrome/Default     //adjust for your Chrome install location
    rm Preferences
    rm 'Current Session'
    rm 'Current Tabs'
    rm 'Last Session'
    rm 'Last Tabs'
  • b) zamknij Chrome, a następnie otwórz Terminal i uruchom skrypt (bash FixChrome.sh).

To działało dla niego. Wadą jest to, że tracisz wszystkie karty z bieżącej i poprzedniej sesji, ale warto, jeśli ma to dla Ciebie znaczenie.


4

otwórz nowe okno lub kartę z tym samym linkiem .. opcja ZAPOBIEGANIE obowiązuje tylko na sesję.


1
czym się to różni od notatki OP, żeOf course I can close the tab and reload it but Is there a better way?
Jeff Puckett

2

Jeśli chcesz, aby okno dialogowe zostało ponownie uaktywnione dla strony ustawionej jako zapobiegające wyświetlaniu okna dialogowego.

Chrome: wybierz ustawienia, otworzy się strona Google dla Chrome ze wszystkimi ustawieniami Chrome.

Na samym dole przejdź do ustawień zaawansowanych, a na dole ustawień zaawansowanych możesz kliknąć Ponownie ustaw ustawienia przeglądarki ... spowoduje to wyświetlenie okna dialogowego tak, jak powinno.


8
Chociaż z pewnością resetuje problem z alertem, ale należy go używać ostrożnie, ponieważ resetuje wszystkie ustawienia. Nie ma możliwości wybrania tego, co chcesz zresetować. Nie wierzę też, że jest to prostsze niż odświeżenie strony
fejese,

2
Niestety Google zaindeksowało to jako odpowiedź ... to straszne. nie rób tego.
macm

-2

Wyłączenie akceleracji sprzętowej wydaje się być ustawieniem wpływającym na wyskakujące okienka i okna dialogowe.

Chrome nieustannie ukrywał okna dialogowe, gdy musiałem odpowiadać tak lub nie na różne rzeczy, a także gdy musiałem zmieniać nazwy folderów w moim panelu zakładek. Po tygodniach robienia tego. Wyłączyłem wszystkich pomocników Chrome w Ustawieniach, również w Windows 10 wyłączyłem Snapping Window. Zrobił coś, aby umieścić wyskakujące okienka i okna dialogowe z powrotem w rzutni.

Kiedy pojawił się ten błąd, mogłem zamknąć kartę, naciskając najpierw Enter przed kliknięciem przycisku zamykania karty X. Przeglądarka miała ukryte okno ostrzegawcze, które wymagało odpowiedzi od użytkownika.

Wyłączanie i ponowne włączanie akceleracji sprzętowej, zabijanie procesu Chrome i przełączanie wszystkich innych pomocników na wyłączanie i z powrotem, naprawiło to dla mnie ... Musi być w samym chrome, ponieważ właśnie przeszedłem do okna Chrome na Macu i teraz ma zatrzymał problem, bez żadnej interwencji. Domyślam się, że włączanie / wyłączanie / włączanie ustawień chromu spowodowało zmianę położenia okien dialogowych. Nie mogę teraz zmusić przeglądarki do powtórzenia błędu ...

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.