Ich konnte meinen Firefox wiederholt abstürzen, indem ich eine massive DOM-Einfügung von ungefähr 10.000 Elementen ausführte.
Grundsätzlich klickt der Benutzer auf eine Schaltfläche, um einen jQuery AJAX-Aufruf auszulösen. Der Aufruf würde eine vollständige HTML-Datei zurückgeben, die mit jQuery an ein bestimmtes div angehängt würde.
<script>
$("div.content").empty();
$("div.content").html(data);
</script>
Dann, wenn die Daten hinzugefügt würde es versuchen, diesen ganzen Dreck von Daten zu analysieren und fügt onClick und onHover Ereignisse grundsätzlich jedes Element im Baum.
Seien Sie versichert, jedes Mal, wenn ich diese Funktion ausgeführt habe, stürzte mein Browser ab. Es würde das übliche "ein Skript läuft langsam, willst du es abbrechen" hervorbringen, aber ich konnte es nie abbrechen und musste immer STRG + ALT + ENTF drücken.
Nur FYI, ich habe nie geplant, eine 10.000 Element Insertion zu tun, es war ein Fehler meinerseits. Ich habe eine Datenbank mit einem JOIN abgefragt und wollte SELECT DISTINCT machen, und stattdessen SELECT, anstatt 100 Elemente zurückzugeben, gab ich 10.000 wegen der Joins zurück. Hoppla.
Klingt wie: Finde mich segfaults für leet zero-dayz! –