Netscape überfordert bei größeren Arrays?
ThomasJ
- javascript
0 holger kuehne0 ThomasJ
Hallo,
ich habe eine HTML-Seite geschrieben, die erst ein relativ langes (2-Dim.-)Javascript-Array erzeugt und später formatiert als Tabelle ausgibt.
Beispiel:
myArray = new Array();
myArray[0] = new Array("12345","Name der Zeile","Sonstige Daten", 98765, "abc");
myArray[1] = new Array("23456","Andere Zeile","Mehr sonstige Daten", 46621, "def");
...
Später wird alles schön ausgegeben:
for(i=0; i<myArray.length; i++) {
document.write('<td>...</td>');
}
und so weiter. Die Lösung FUNKTIONIERT, in beiden Browsern, d.h. an diesem Code ist nichts falsch. Allerdings nur bei Tabellen mit etwa 20 oder 30 Zeilen... Dennoch passiert es, dass meine Arrays oft deutlich größer werden (ab 30, bis 150 Zeilen oder auch etwas mehr).
Während das den Explorer nicht weiter stört und sogar die langen Tabellen in sekundenschnelle angezeigt werden, gerät "Netscapes Versuch von einem Browser" total in Stocken... Folgen: Die HTML-Seite wird nicht angezeigt, scheinbar ist Netscape dann instabil, reagiert nicht mehr auf Seitenaufrufe oder Mausklicks. Das Neustarten von Netscape ist notwendig, ein NT User (also z.B. ich) darf anschließend noch den Netscape-Prozess aus dem Task schmeißen.)
Exakt das selbe Ergebnis bei ähnlicher Netscape-Version (4.7 und 4.6) gab es auf einem anderen PC mit anderer Leistung.
Ihr könnt mir ja erzählen, dass meine Arrays zu "heftig" sind, aber das ist doch lächerlich. Sooooo groß sind die nicht, und den IE scheint das nicht im geringsten zu interessieren - sogar bei etwas geringerem Speicherverbrauch als NS (NS belegt bei dem Vorgang etwa 12MB RAM).
Vielleicht kann mir jemand helfen / eine Lösung vorschlagen / mir das Verhalten erklären.
Gruß
Thomas J.
Hi
Ich hab mir mal den "Spass" gemacht das ganze auf meinem NS 4.03 Win95 zu testen. Fazit: selbst bei 200 Tabellenzeilen gab es keine Probleme, ausser, dass Netscape "natuerlich" ein wenig braucht um die Tabelle darzustellen.
Es koennte also sein, das das ganze "Nur" ein Problem von der NT Version von Netscape ist. Um ganz sicher zu gehen, waere es gut wenn du eine URL haettest, wo man das ganze mal checken kann.
Tschau Holger
hi holger,
sorry, ich fürchte, ich habe euch etwas in die irre geführt. ich habe den fehler gefunden, und er hat mich überrascht. der fehler liegt nicht an zu grossen arrays, sondern an einem unscheinbaren parameter eines <a href>-tags...
irgendwo habe ich:
style="text-decoration: none;"
und ich hätte immer gedacht, der netscape ignoriert etwas, wenn er es nicht versteht. dummerweise scheint ihm genau das deutliche probleme zu bereiten.
genau eine zeile lang klappt das, danach wird der code merkwürdig abgeschnitten und der browser stürzt ab. sofort nach dem entfernen dieses styles klappt alles.
ich dachte da an die array-größe, weil ab der bestimmte teil nicht sofort auftritt. nun bin ich wieder etwas schlauer :)
trotzdem danke!
gruß
thomas
ps: entschuldigt den "lower-case", ist aus zeit- (und gewohnheits/faulheits-)gründen :)