minicrispie: Element angeblich nicht gefunden ...

Hallo,

und wieder einmal gibts Probleme ;)
um mal wieder ein bisschen mit JavaScript herumzuspielen hab ich folgendes Problem versucht zu lösen:
ich will eine Seite haben, die mir alle anderen Seiten meine Wahl öffnet und diese Kontrollieren kann. Das hab ich auch schon mit normalen Funktionen geschafft. Dann hab ich ein Closure drumgebaut und seitdem Findet er ein HTML-Element angeblich nicht mehr ... irgendwie versteh ich das nicht ganz, da es eindeutung im Quelltext vorhanden ist.

Hier einmal der Quelltext. Der Ort des Fehlers ist markiert.

  
<html>  
	<head>  
		<title></title>  
		  
		<script type="text/javascript">
~~~~~~javascript
  
			var fenster = {  
				//Die Adressen aller Fenster  
				adressen: new Array(  
					/*"www.dampfer.net",  
					"www.schueler.cc",  
					"forum.de.selfhtml.org",  
					"www.gondal.de/signups/login",  
					"www.wurzelimperium.de",  
					"www.die-staemme.de",  
					"www.pc-labor.hn.vc",  
					"www.arcor.de",  
					"www.gmx.de"*/  
					"www.google.de",  
					"www.google.de"  
				),  
				controlls: null,  
				offene_fenster: 0,  
			  
				open: function()  
				{  
					content  = "<table>";  
					content += "<tr><td colspan=\"3\">Fensterkontrolle</td></tr>";  
					  
					fenster.controlls = new Array( fenster.adressen.length );  
				  
					//Alle Fenster mit den Adressen im Array öffnen  
					var i = 0;  
					for( i=0; i<fenster.adressen.length; i++ )  
					{  
						adresse     = "http://" + fenster.adressen[i] + "/";  
						bezeichnung =                     "Fenster_nr_" + i;  
						fenster.controlls[i] = window.open( adresse, bezeichnung, "" );  
						  
						//Den Controller für das Fenster schreiben  
						content += "<tr id=\"elem_" + i + "\">";  
						content += "<td>" + ( i + 1 ) + ".</td>";  
						content += "<td>" + adresse + "</td>";  
						content += "<td><a href=\"#\" onclick=\"fenster.close(" + i + ")\">schliessen</a></td>";  
						content += "</tr>";  
						  
						fenster.offeneFenster++;  
					}  
					  
					content += "</table>";  
					document.getElementById( "controller" ).innerHTML = content; // !HIER TRITT DER FEHLER AUF!  
					  
					//Die Fenster im Abstand von 5 Sekunden prüfen  
					setTimeout( "fenster.check()", 5000 );  
				},  
				  
				check: function()  
				{  
					var i = 0;  
					for( i=0; i<fenster.controlls.length; i++ )  
					{  
						if( fenster.controlls[i].closed == true )  
						{  
							fenster.controlls[i].close( i );  
						}  
					}  
					  
					setTimeout( "fenster.check()", 5000 );  
				},  
				  
				close: function( id )  
				{  
					if( fenster.controlls[id].closed == false )  
					{  
						fenster.controlls[id].close();  
						document.getElementById( "elem_" + id ).style.display = "none";  
						  
						fenster.offeneFenster--;  
						  
						if( fenster.offeneFenster == 0 )  
						{  
							document.body.innerHTML  = "Keine Fenster mehr vorhanden<br><br>";  
							document.body.innerHTML += "<input type=\"button\" value=\"Fenster öffnen\" onclick=\"fenster.open()\">";  
						}  
					}  
					else  
					{  
						alert( "Das Fenster ist bereits geschlossen" );  
					}  
				}  
			};  
			  
			fenster.open();
	~~~html

</script>
</head>

<body>  
	<div id="controller"></div>  
</body>  

</html>

  
  
Die Fehlerkonsole im Firefox 3.0.10 gibt mir folgendes aus:  
Fehler: document.getElementById("controller") is null  
Quelldatei: file:///C:/\*\*\*\*\*/open.html  
Zeile: 50  
  
Könnt ihr helfen?  
  
  
MfG. Christoph Ludwig

-- 
Wo die Sprache aufhört, fängt die Musik an...  
Selfcode:  sh:) fo:) ch:° rl:( br:^ n4:} ie:{ mo:} va:) js:| de:] zu:) fl:( ss:| ls:~  
  
Go to [this](http://pc-labor.hn.vc/Homepage/index.php) 
  1. Hi,

    Die Fehlerkonsole im Firefox 3.0.10 gibt mir folgendes aus:
    Fehler: document.getElementById("controller") is null

    völlig zu Recht. Ein solches Element gibt es erst viel später.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hallo,

      völlig zu Recht. Ein solches Element gibt es erst viel später.

      ach verdammt ... immer diese kleinen Fehler.
      Danke!

      MfG. Christoph Ludwig

      --
      Wo die Sprache aufhört, fängt die Musik an...
      Selfcode:  sh:) fo:) ch:° rl:( br:^ n4:} ie:{ mo:} va:) js:| de:] zu:) fl:( ss:| ls:~
      Go to this
  2. Hallo,

    Ein Script hat Zugriff nur auf die Elemente vor dem zugehörigen script-Element
    Auch wenn du hier nicht mit Event-Handling arbeitest, sind die verschiedenen Phasen relevant.

    Mathias