Frames nachladen (Iframe)
getimo
- javascript
0 molily
Hallo, ich wollte folgendes Script benutzen, um meine Seiten, die in einem Iframe geladen werden, bei alleinigem Aufruf in der Hauptseite nachladen zu lassen: http://www.roflweb.de/Script/Frame/update1/FrameNachladen/hauptseite.htm
Dies funktioniert auch. Allerdings läd er nach Vollenden des Vorgangs die eingebettete Datei immer wieder neu und hört nicht auf. Das wird wohl daran liegen, dass das Script für richtige Framesets geschrieben ist und nicht für Iframes. Wie bekomme ich es auch mit Iframes hin?
Hier kann man das Problem nachvollziehen: http://www.getimo.de/linkpage2/html/tuts_boom_delay1.php
Link zm Script: http://www.roflweb.de/Script/Frame/update1/FrameNachladen/hauptseite.htm
Danke für jede Antwort im voraus :)
Ge.ti.Mo.
Hallo, Ge.ti.Mo.,
ich wollte folgendes Script benutzen, um meine Seiten, die in einem Iframe geladen werden, bei alleinigem Aufruf in der Hauptseite nachladen zu lassen: http://www.roflweb.de/Script/Frame/update1/FrameNachladen/hauptseite.htm
Das Script ist auch nur für Framesets gedacht, nicht für Dokumente mit Inner Frames. Wie ich das überblicke, dürfte es aber mit dem richtigen name-Attribut beim iframe klappen (?). Wie auch immer, ich würde dir eine JavaScript- und PHP-Lösung vorschlagen.
Dies funktioniert auch. Allerdings läd er nach Vollenden des Vorgangs die eingebettete Datei immer wieder neu und hört nicht auf. Das wird wohl daran liegen, dass das Script für richtige Framesets geschrieben ist und nicht für Iframes. Wie bekomme ich es auch mit Iframes hin?
Angenommen du hast zwei Dateien, murks.php und iframe.html. Das PHP-Script murks.php bindet über ein iframe-Element iframe.html ein:
<iframe src="<?php
if (isset($_SERVER['QUERY_STRING']) and !empty($_SERVER['QUERY_STRING']))
echo($_SERVER['QUERY_STRING']);
else
echo('iframe.html'); // Standardwert bei keinem Query String
?>" name="innerframe"></iframe>
Über den Query String wird später die URL übergeben.
murks.html enhtält folgenden JavaScript-Code im head-Element:
<script type="text/javascript">
toppage='murks.php'; // Hier die zu ladende Seite eingeben, relativ zum Verzeichnis von iframe.html
if (!top.innerframe) location.replace(toppage+"?"+escape(self.location.pathname));
</script>
Falls es kein darüberliegendes Fenster gibt, welches ein (in diesem Fall Inner) Frame namens 'innerframe' enthält, wird murks.php mit der momentanen URL (bzw. dem Pfadnamen) aufgerufen, bspw. murks.php?/absoluter/pfad/zum/iframe/iframe.html.
murks.php würde dann aus den übergebenen Daten folgendes generieren:
<iframe src="/absoluter/pfad/zum/iframe/iframe.html" name="innerframe"></iframe>
So dürfte es klappen... getestet mit Opera 6.05, Mozilla 1.2b und MSIE 6sp1...
Grüße,
Mathias