document.write - Zeilen über bereits geschriebene Zeilen schreiben

Sven Petruschke

Erfahrenes Mitglied
Hallo,

ich habe ein Frameset mit 2 Frames. Von Frame 2 aus schreibe ich mit parent.frame1.document.write(''); Daten in Frame 1. Das kappt auch wunderbar. Meine Frage ist nun, ob es auch eine Möglichkeit gibt, in Frame 1 Daten vor die bereits geschriebenen Zeilen zu setzen.

Vielen Dank bereits ...

snuu
 
Hallo Snuu,

mit Document.write wird es nicht wirklich gur funktionieren :( - hab aber eine relativ elegante Lösung für dich :)
Du brauchst dazu im Frame 1 einen "Container" in den du schreiben willst (<p>, <span> oder <div>). Diesen gibst du eine ID (in meinem Beispiel "Demo"). Dieser Container kann mitten im Text, an Anfang oder Ende stehen - das ist egal. Im zeiten Frame (von dem aus geschrieben werden soll) brauchen wir follgende Funktion:
PHP:
<script language="JavaScript" type="text/javascript">
function DOMwrite()
{
  with(parent.frame1.document){
    var Text = createTextNode("blablabla");
    getElementById("demo").appendChild(Text);
  }
}
//-->
</script>
Was macht diese Funktion? Zuerst wird via createTextNode ein neuer String erzeugt. Mit appendChild wird dieser String in den Object Baum des Dokumentes übernommen (man könnte evtl auch appendData() benutzen).
Wo ist der Haken? Das Ganze arbeitet mit dem W3C-DOM 1.0 und wird leider nur von neueren Browsern unterstützt - also Netscape 6.0 und IE ab 5.5 - für Opera kann ich keine auskunft geben...

mehr infos: http://www.selfhtml.net/javascript/objekte/node.htm

ciao
 

Anhänge

  • demo.zip
    701 Bytes · Aufrufe: 31
Zurück