Udało mi się wielokrotnie zawiesić Firefoksa, wykonując masowe wstawianie DOM około 10 000 elementów.
Zasadniczo użytkownik klika przycisk uruchamiający wywołanie jQuery AJAX. Wywołanie zwróci pełny plik HTML, który zostanie dołączony do konkretnego elementu div z jQuery.
<script>
$("div.content").empty();
$("div.content").html(data);
</script>
Wtedy gdy dane dodano byłoby próbować zanalizować ten cały syf danych i dodać onClick i onHover wydarzenia w zasadzie każdy element w drzewie.
Zapewniam, że za każdym razem, gdy uruchomiłem tę funkcję, moja przeglądarka zawiesiła się. Przywołałoby to zwykłe "skrypt działa wolno, chcesz go anulować", ale nigdy nie mogłem go anulować i zawsze musiałem użyć CTRL + ALT + DEL.
Po prostu FYI, nigdy nie planowałem wprowadzenia elementu 10.000 elementu, to był błąd z mojej strony. Byłem kwerendy do bazy danych z JOIN i przeznaczone do wykonywania SELECT DISTINCT, a zamiast SELECT, więc zamiast zwracania 100 elementów, zwróciłem 10.000 ze względu na łączenie. Whoops.
Wygląda to tak: Znajdź mnie jako błąd dla zero-dayz! –