Marc Schumann: Bildschirminhalt leeren ??

Hallo Allerseits,

Ich versuche in untenstehendem Script PHP ein Javascript Baum zu füllen.
Dieser ist von Geir Landrö (Copyright) js_Tree. Das tut aber eigentlichts zur Sache.

Dieser wird mit document.write(d) geschrieben. jetz sollen sich aber die Daten des Trees ändern, und dazu will ich den Bildschirm leeren, um den Baum erneut zeichnen zu lassen.
Nach Suchen bei google habe ich gelesen dass document.clear() depreciated ist.
Deshalb habe ich es wie unten im script zu sehen ist versucht.

Aber weder document.clear () funktioniert, noch meine Methode. Warum?

UND: WAS HILFT ?

Danke im voraus Marc.
Hiere das Script (php):

<html>

<head>
 <link rel="StyleSheet" href="include/dtree.css" type="text/css" />
 <script type="text/javascript" src="include/dtree.js" ></script>
</head>

<body>
<?
//Erzeugen des Treearrays

$Treevalues = array();//('id','pid','name','url','title','target','icon','iconOpen','open');
$Treevalues[0]=array( 'id'  => 0,
    'pid' => -1,
    'name'=> Base,
    'url' => null.html,
    'title'=>Titel,
    'target'=>WorkFrame,
    'icon'=>"",
    'iconOpen'=>"",
    'open'=>false);
$Treevalues[1]=array('id'  => 1,
    'pid' => 0,
    'name'=> Node1,
    'url' => null.html,
    'title'=>Titel,
    'target'=>WorkFrame,
    'icon'=>"",
    'iconOpen'=>"",
    'open'=>false);
$Treevalues[2]=array('id'  => 2,
    'pid' => 1,
    'name'=> Node1_1,
    'url' => null.html,
    'title'=>Titel,
    'target'=>WorkFrame,
    'icon'=>"",
    'iconOpen'=>"",
    'open'=>false);

function tree2html() {

global $Treevalues;

$Ausgabe = "<div class="dtree"><script type="text/javascript">\n";
$Ausgabe.= "<!--\n";
//
$Ausgabe.= "document.open();\n";
//
$Ausgabe.= "d = new dTree('d');\n";
 $anz = count($Treevalues);
 for ( $i=0; $i<$anz ; $i++ ) { //Größe des Arrays zählen
  $w1 =$Treevalues[$i]['id'];
  $w2 =$Treevalues[$i]['pid'];
  $w3 =$Treevalues[$i]['name'];
  $w4 =$Treevalues[$i]['url'];
  $w5 =$Treevalues[$i]['title'];
  $w6 =$Treevalues[$i]['target'];
  $w7 =$Treevalues[$i]['icon'];
  $w8 =$Treevalues[$i]['iconOpen'];
  $w9 =$Treevalues[$i]['open'];
  $Ausgabe.= "d.add(\x27$w1\x27,\x27$w2\x27,\x27$w3\x27,\x27$w4\x27,\x27$w5\x27,\x27$w6\x27,\x27$w7\x27,\x27$w8\x27,\x27$w9\x27);\n";
 }
$Ausgabe.="document.write(d);\n";
//
 $Ausgabe.= "document.close();\n";
 $Ausgabe.= "document.open();\n";
 $Ausgabe.= "document.write("<P>Das wars</P>");\n";
//
$Ausgabe.="alert("test");\n";
$Ausgabe.="//-->\n</script>\n</div>\n";

echo($Ausgabe);
}
function clearscreen() {

$Ausgabe = "<div class="dtree"><script type="text/javascript">\n";
 $Ausgabe.= "<!--\n";
 $Ausgabe.= "document.close();\n";
 $Ausgabe.= "document.open();\n";
 $Ausgabe.= "document.write("<P></P>");\n";
 $Ausgabe.="//-->\n</script>\n</div>\n";
 echo($Ausgabe);
 }

tree2html();
clearscreen();

$Treevalues[3]=array('id'  => 3,
    'pid' => 1,
    'name'=> Node1_2,
    'url' => null.html,
    'title'=>Titel,
    'target'=>WorkFrame,
    'icon'=>"",
    'iconOpen'=>"",
    'open'=>false);
tree2html();
?>
</body>
</html>

  1. Aber weder document.clear () funktioniert, noch meine Methode.

    Ich lese jetzt nicht 200 Zeilen Code durch. Entweder Du bist im falschen Fenster / Dokument, oder versuch mal document.open();document.close();

    Wenn Du auf diese Art ein Menü bastelst, muß Du Dir auch nicht weiter Gedanken über deprecated machen. Ansonsten beschäftigst Du Dich besser mal mit den DOM-Methoden.

    1. Aber weder document.clear () funktioniert, noch meine Methode.

      Ich lese jetzt nicht 200 Zeilen Code durch. Entweder Du bist im falschen Fenster / Dokument, oder versuch mal document.open();document.close();

      Nein ist auch nur der vollständigkeithalber geschehen.
      Im wesentlichen ist es:
      document.write(d); //Zeichnet den Baum
      document.close();
      document.open(); // sollen das Fenster wieder löschen., aber tun es nicht.

      Da ich bei diesem Beispiel nur innerhalb eines Fensters arbeite, kann auch kein anderes gemeint sein, oder ??

      für Tipps dankbar.

      Danke erstmal Marc Schumann