Schönen guten Tag!
Also, wir wissen ja, dass es zwischen dem IE und Netscape große Unterschiede gibt. Nehme man dieses Script zur Hand:
<html>
<body>
<select name="dropdown"></select>
<script type="text/javascript">
var pos = null;
var sel = document.getElementsByTagName("select")["dropdown"];
for(var i=0; i<1000; i++) {
if (document.all) pos = sel.length;
var newoption = document.createElement("option");
newoption.text = i+1;
sel.add(newoption,pos);
}
alert("Fertig");
</script>
<body>
</html>
Dieses Script macht nix anderes, als neue Elemente dynamisch in das Dropdown Menu einzufügen.
Ich habe die Anzahl der einzufügenden Elemente von 1000 bis 8000 (Anzahl der Durchläufe der Schleife) variiert, und dabei alles mit Netscape und IE ausprobiert.
Resultat des ganzen habe ich in einer Tabelle zusammengefasst:
Internet Explorer: Netscape:
Durchläufe: Zeit (sec) Zeit (sec)
1000: 1,1 0,6
2000: 4,1 1,0
3000: 9,9 1,3
4000: 15,8 1,7
5000: 24,6 2,2
6000: 35,5 2,6
7000: 47,8 3,0
8000: 63,6 3,4
usw.
Man sieht, dass der Internet Explorer bei 8000 Elementen ca. 63,6 Sekunden braucht, Netscape hingegen nur 3,4 Sekunden (Alles selbst gemessen, kann evt. abweichen.)!!!
1. Warum ist der Unterschied so gewaltig?
2. Kann man den Code noch weiter optimieren?
Also ich verstehe nicht, warum der IE so lange braucht...
P.S.: der Firefox Browser ist sogar einen tick schneller als Netscape!
Grüße, GoreX