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.