ref: https://superuser.com/questions/92617/stop-never-ending-popup-alerts-in-firefox
Firefox jest szczególnie problematyczne ...
Ostrzeżenie! Zastanówcie się! NIE uruchamiaj tego!
javascript:
while (true) alert("irritated and exhausted - yet?");
To go „nieskończony”, a nie wyczerpie wewnętrzny limit czasu, ponieważ skrypt nie żuć czasu procesora wystarczająco szybko. W FF 11 gwarantuje to, że nie będzie możliwości aborcji w "niereagujących scenariuszach".
Wyczerpujące zatrzymywanie tylko niepokojącego skryptu było możliwe i banalne we wczesnych wersjach przeglądarkowych, przy użyciu ręcznej interwencji, bez kumkania i przerywania całej przeglądarki. Brak takiej kontroli to główna luka w oprogramowaniu przeglądarki. Nieuzasadniona zręczność i odruch są wymagane, aby wywoływać mechanikę mechaniczną "rozwiązań" opisanych w odnośniku.
Zastrzeżenie: Możliwe jest, aby skrypty działały "nieskończone" bez limitów czasu i bez alertów typu alertów. Są to szczególnie szkodliwe i denerwujące. Zasadniczo, skrypty działają na tyle wolno, że przydział czasu procesora CPU wynosi 20 sekund. jest rozciągnięty na kilka minut lub godzin lub ..., przed upływem czasu, przez zawieszenie wykonania do czasu wznowienia w momencie uruchomienia zdarzenia. Zamiast taktowania cykli procesora byłoby znacznie lepiej dla skryptów do przekroczenia czasu na zegarkach świata rzeczywistego. (Zauważasz, że nie możesz przerwać skryptu, który próbuje odzyskać zawartość - ale bez powodzenia - do skonstruowania strony? W FF oba przyciski paska adresu: reload
i cancel/stop
są wyłączone, chociaż zakładka może być przynajmniej zamknięta.) Normalne wywołania javascript Timeout()
i setInterval()
nie cierpią z tego powodu i są tak warunkowane, że podczas zawieszenia, ręczna interwencja jest możliwa do usunięcia "z wdziękiem".
środowisko testowe dla obserwacji empirycznych:
window.navigator.userAgent=
Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:11.0) Gecko/20100101 Firefox/11.0
PS. skrypt
for (i=1; i > 0; ++i);
ostatecznie pułapka na błąd przepełnienia gdy i
przekracza maksymalną dozwoloną wartość.
Z ciekawości, czy jesteś w stanie określić, co spowodowało, że Twoja przeglądarka nie rzuci ostrzeżenia o "powolnym skrypcie"? – alex
bez śladu! (ten limit 15 znaków jest denerwujący) – nickf
Czy to należy do SuperUser? – Chetan