innerHTML = innerHTML + ... ohne alles zu laden?

hallo,

ich habe mit ajax ein script gebastelt, mit dem immer ein neuer text hinzugefügt wird:

document.getElementById(‚content‘).innerHTML = document.getElementById(‚content‘).innerHTML + content;

aber der text der vorher schon dort stand wird immer neu geladen(innerHTML), gibt es da nicht eine andere lösung?

danke schon im vorraus,

mfg. paul

Erklärung bitte
Hallo Paul,

was meinst Du mit „immer neu geladen“?

Schöne Grüße,

Mohamed.

Was genau dir zu lange dauert, hast du ja noch nicht geschrieben.
Wenn du eine Seite aufrufst, wird sie und die enthaltenen Grafiken und Hilfsdateien vom Server wieder geschickt, dass kann besondern per Modem dauern. Und auch die Browser brauchen Zeit zum Seitenaufbau, da lässt sich eineiges einstellen.
Also den Umfang der Seiten verringern, Kommentare werden auch übertragen.
Wiederkehrende Tags mit Javascript machen.
Die sich ändernden Abschnitte in eine js-Datei auslagern, dann wird zwar auch alles übertragen, aber der Browser kann schon aus dem Cache nachladen, und die Seite ist fertig, obwohl der Ladevorgang noch läuft.

Hallo Paul

probier mal:

document.getElementById(‚content‘).innerHTML = content;

Wenn in „content“ alles drin ist, das in das Lement geladen werden soll.

biba

Dirk.Pegasus

hallo Dirk.Pegasus

document.getElementById(‚content‘).innerHTML = content;

wenn alles im content stehen würde, dann würde doch alles neu geladen werden oder? deshalb habe ich mir gedacht, wenn man den neuen text, den man hinzufügen will, einfach an den alten dazufügt(document.getElementById(‚content‘).innerHTML = document.getElementById(‚content‘).innerHTML + content:wink:, würde der alte text nicht neu geladen werden, aber da habe ich mich wohl getäuscht!

der Grund für die Frage: wenn man z.B ein Video in den content einfügt, würde das abspielen des videos beim aktualisieren immer abbrechen.

hoffe mir kann jemand helfen

mfg. paul

Hallo Paul,

ich war davon ausgegangen, das du zB in ein div den neuen Content laden willst. Nach meinem Verständnis wird dann auch nur der Inhalt dieses DIV nachgeladen, der Rest bleibt in Ruhe.

Also ein DiV für den var Content, der dynamisch nachgeladen wird. Der rest bleibt.

biba

Dirk.Pegasus

hallo Dirk.Pegasus,

ich glaube du hast mich falsch verstanden, denn ajax ist ja das was du meinst, also sachen dynamisch laden, sodass andere elemente auf der site unverändert bleiben.
aber es geht mir darum, dass wenn ich mir den content hole, der alte content nicht neu geladen wird, wenn ich den neuen content hole, denn wenn im alten content ein video ist, wird das während der wiedergabe abgebrochen, weil es auch neu geladen wird.

Beispiel:

beim 1. mal:
„hallo“ wird vom content geholt.
hallo

beim 2. mal:
„hallo2“ wird zum anderen „hallo“ hinzugefügt
hallo
hallo2

beim 2en schritt(interval) wird „hallo“ auch neu geladen. dies ist nicht wirklich schlimm, wenn es ein text ist, aber wenn „hallo“ ein video währe, würde es immer neu geladen werden, und darum geht es mir, das beim aktuellen schritt der alte content von den vorigen schritten unverändert bleibt.

hoffe ich habs jetzt ausführlich erklärt was ich meine,

mfg. paul

extra fenster
Bei Seite wird bei Aenderungen neu geladen (vom Server uebertragen) und damit auch alle Bestaandteile.
Deshalb solltest du Frames verwenden oder ein Popup-Fenster, dem musst du aber sagen, dass es beim Schlieszen des Hauptfensters bleiben soll (im open-Befehl).

tag,

könntest du mir ein beispielcode schreiben oder vl. ein wenig detailierter beschreiben, wie das mit den frames funktioniert?

danke,
paul

Meine Kenntnisse habe ich von Selfhtml.

Hallo Paul,

ich habe dich schon richtig verstanden.

Stell dir vor, deine Seite besteht aus 3 div. Das erste hat den Namen „ichBinFest“, das zweite „ichBinDynamisch“ das dritte „ichBinAuchFest“. Dann kannst du im zweiten pe AJAX nachladen, ohne das die anderen beiden neu geladen werden müssen. Und nein, es wird bei dieser Technik eben nicht die ganze Seite neu geladen.

In das mittlere div must du dann einen Strom laden, der alles nowtendige als html beinhaltet.

Und acuh nein Frames braucht es dazu nicht.

biba

Dirk.Pegasus