Ich habe folgendes Problem:
Ich möchte ein Bildergalerie-script (4images 1.7.4) umgestallten, das es html-Dateien anzeigt.
Das klappt soweit auch ganz gut, das Script ist auch für Laien gut anpassbar. Nur habe ich jetzt folgendes Problem (ich muss leider etwas ausholen, damit es keine Missverständnisse gibt):
Das einbinden von unterschiedlichen Dateiarten geht in diesem Script über templates. Um *.html-Dateien auszugeben, benötigt man auf jeden Fall einen iframe, das template sieht also so aus:
nun sind aber nicht alle html-Dateien gleich lang und passen in einen iframe mit angegebener Größe. Da ich wenn irgend möglich auf Scrollbars beim Frame verzichten will, habe ich ein bisschen gegoogelt und folgende js-Lösung für variable iframe-Höhen gefunden:
1. in die globale Header-Datei des scripts packe ich folgendes script:
2. das oben vorgestellte Template für *.html-Dateien erweitere ich wie folgt:
3. Die auszugebende Datei sieht dann so aus:
Und - Oh Wunder, trotz nur rudimentärer Kenntnisse in JS, funzt das Script auf Anhieb auf IE 7 und Opera 9. Nur im Firefox 2 nicht. Kann mir einer helfen, das Javascript so anzupassen, das auch in Firefox der iframe resized wird?
Ich möchte ein Bildergalerie-script (4images 1.7.4) umgestallten, das es html-Dateien anzeigt.
Das klappt soweit auch ganz gut, das Script ist auch für Laien gut anpassbar. Nur habe ich jetzt folgendes Problem (ich muss leider etwas ausholen, damit es keine Missverständnisse gibt):
Das einbinden von unterschiedlichen Dateiarten geht in diesem Script über templates. Um *.html-Dateien auszugeben, benötigt man auf jeden Fall einen iframe, das template sieht also so aus:
HTML:
<!-- Template file for html Files -->
<IFRAME name="inhalt" src="{media_src}" width="600" height="500" scrolling="auto" frameborder="0" marginheight="2" marginwidth="2">
</IFRAME>
<BR>
nun sind aber nicht alle html-Dateien gleich lang und passen in einen iframe mit angegebener Größe. Da ich wenn irgend möglich auf Scrollbars beim Frame verzichten will, habe ich ein bisschen gegoogelt und folgende js-Lösung für variable iframe-Höhen gefunden:
1. in die globale Header-Datei des scripts packe ich folgendes script:
HTML:
<script type="text/javascript">
function resize_iframe() {
self.document.getElementById('inhalt').style.height = document.getElementById('text').offsetHeight;
}
</script>
2. das oben vorgestellte Template für *.html-Dateien erweitere ich wie folgt:
HTML:
<!-- Template file for html Files -->
<IFRAME onload="resize_iframe();" name="inhalt" src="{media_src}" width="600" scrolling="no" frameborder="0" marginheight="2" marginwidth="2">
</IFRAME>
3. Die auszugebende Datei sieht dann so aus:
HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<META http-equiv="CONTENT-TYPE" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
function resize_iframe() {
parent.document.getElementById('inhalt').style.height = document.getElementById('text').offsetHeight;
}
</script>
<TITLE>titel</TITLE>
</HEAD>
<BODY onload="resize_iframe();">
<DIV id="text">
<!-- Inhalte -->
</DIV>
</BODY>
</HTML>
Und - Oh Wunder, trotz nur rudimentärer Kenntnisse in JS, funzt das Script auf Anhieb auf IE 7 und Opera 9. Nur im Firefox 2 nicht. Kann mir einer helfen, das Javascript so anzupassen, das auch in Firefox der iframe resized wird?