Bernd: Text Variablengröße, document.write()

Hallo Forum,

nach langer Abstinenz werkle ich mal wieder mit Javascript.
Nun möchte ich mir aus einem Array ein Selectionsfeld erstellen.

ca. 10.000 Einträge.

Wenn ich schreibe:

for(var i = 0; i < myCount; i++){
  myText += "<option>"+myNBSP(myCMS[i])+"</option>\n";

}

document.write(myText)

raucht mein Browser (IE 6.0) ab.

Mache ich das ganze häppchenweise:

for(var i = 0; i < myCount; i++){
  t++;
  myText += "<option>"+myNBSP(myCMS[i])+"</option>\n";
  if (t > 20){
   document.write(myText);
   myText="";
   t=0;
  }

Ist der Browser ganz brav.

Sind die Möglichkeiten der "Text"-Variablen begrenzt ?
Größe ? etc.

Denn der Browser raucht auch ohne das Document write ab.

Gruss,

Bernd

  1. Hallo Bernd,

    spontan fallen mir zwei Dinge ein:

    • dem Array bei Initialisierung eine bereits sehr grosse Anzahl an Elementen geben (wobei das nicht das Problem sein sollte)
    • vor dem document.write() das document erstmal öffnen, danach auch wieder schliessen.

    Gruss
    Marcus

  2. Der Array aus dem ich die Listfelder generiere wird komplett
    mit myArray = new Array("1", .... "8000") geschrieben.

    Der Browser raucht vor dem Document.write ab.

    Ich glaube das die JS-Variable
    a.) Nur eine bestimmte Menge an Zeichen verwalten kann
    b.) Sie nur bedingt für Textoperationen geeignet ist.

    Nach Möglichkeit würde ich am liebsten die ganze Seite
    erst in einer Variablen zusammenbauen und dann schreiben.

    Über Sinn und Unsinn lässt sich streiten, Ziel ist es die HTML-Seite
    beim Laden so klein wie möglich zu halten und erst auf der Client-Seite
    zusammenzubauen.

    Denn auch so wird das reine HTML-Dokument mind. 300 kb haben.

    Davon sind allein 250 KB der Array mit meinen Daten und mit dem ich weiter arbeiten will.

    Schonmal Danke für das erste Feedback.

    Euch allen einen schönen Feierabend, Morgen geht es weiter.

    Bernd