iframe und src= mit variable verwenden
technolust
- javascript
Hallo!
habe schon in diversen foren gesucht aber noch nicht das richtige gefunden. bin noch ziemlicher anfänger in javascript. vermutlich ist es eine einfache frage für euch:
Wie kann ich einem src-Befehl eine Variable übergeben?
Ich möchte in einem iframe variabel html-Dateien laden.
Die html-adresse ist in einer variable abgelegt.
hier ein auszug aus meinem script:
HEAD-BEREICH:
script type="text/javascript">
<!--
switch(window.name) {
case "seite1":
var new_page = "./resourcen/seiten/seite-1-1.html";
break;
case "seite2":
var new_page = "./resourcen/seiten/seite-2-1.html";
break;
default:
alert("Seite nicht gefunden!");
break;
}
// -->
</script>
BODY-BEREICH:
<table cellspacing="0" cellpadding="0" border = "0" width="100%">
<tr>
<td>
<iframe src=new_page name="library_data">;
</iframe>
</td>
</tr>
</table>
Er versucht nun die Seite "new_page" zu laden, aber nicht den Inhalt der Variable new_page den ich im header-Bereich belege. Was mache ich falsch?
Danke
Michael
Hallo!
Moin,
Also, erstens solltest Du die Variable new_page global definieren.
Weil so, wie das jetzt bei Dir ist, ist sie glaube ich nur innerhalb des jeweiligen case-Blocks gültig, danach wird sie wieder gelöscht. Ich darf mal:
<script type="text/javascript">
<!--
var new_page = "";
switch(window.name) {
case "seite1":
new_page = "./resourcen/seiten/seite-1-1.html";
break;
case "seite2":
new_page = "./resourcen/seiten/seite-2-1.html";
break;
default:
alert("Seite nicht gefunden!");
break;
}
// -->
</script>
Damit hätten wir schonmal eine newpage-Variable, die auf der ganzen Seite gültig ist.
So, wie Du's unten geschrieben hast, kannst Du die Variable allerdings nicht dem IFRAME Übergeben, da das IFRAME selbst von Deinen JavaScript-Variablen keine Ahnung hat. Die Lösung, die mir spontan dazu einfiele: Du schreibst Dein Iframe nicht wie gewohnt mit HTML, sondern mit JavaScript und der document.write-Methode, da kannst Du dann Deine Variable verwenden. Dies könnte dann so aussehen:
<td>
<script type = "text/javascript">
<!--
document.write('<iframe src="'+new_page+'" name="library_data">');
//-->
</script>
</td>
</tr>
</table>
Aufpassen auf die unterschiedlichen Anführungszeichen (' und ").
Hoffe, das hilft Dir weiter,
Gruesse,
Joerg
Hi Joerg,
das hat ja super funktioniert....
und wieder was gelernt.
Danke dir vielmals!
Michael