Odpowiedzi:
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()
).
debugger
lub punktu przerwania.
console.log
, debugger
lub 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)
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ś.
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.
otwórz nowe okno lub kartę z tym samym linkiem .. opcja ZAPOBIEGANIE obowiązuje tylko na sesję.
Of course I can close the tab and reload it but Is there a better way?
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.
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 ...