Modul "iFrame Auto-Height"
Verfasst: Mo 7. Nov 2005, 12:26
ok, hier das überarbeitete modul "Auto iFrame" für con 4.6.
Dieses Modul berechnet die Höhe des "contents" für ein iFrame bei jedem Seitenaufruf. Die Breite kann im iFrame Modul-Output beliebig konfiguriert werden. (Hier 100%)
ACHTUNG: Funktioniert nur mit Dokumenten die auf dem selben Server liegen wie Contenido!
1. Modul für den Head
(Im Layout einen CMS_Container[x] im Header anlegen)
OUTPUT:
2. Modul für das Iframe
INPUT:
OUTPUT:
Das müsste funktionieren. Bei mir tut es das jedenfalls.
Viele Grüße,
halousi
Dieses Modul berechnet die Höhe des "contents" für ein iFrame bei jedem Seitenaufruf. Die Breite kann im iFrame Modul-Output beliebig konfiguriert werden. (Hier 100%)
ACHTUNG: Funktioniert nur mit Dokumenten die auf dem selben Server liegen wie Contenido!
1. Modul für den Head
(Im Layout einen CMS_Container[x] im Header anlegen)
OUTPUT:
Code: Alles auswählen
/***********************************************
* CONTENIDO HEAD-MODUL - OUTPUT
*
* Modulname : Auto iFrame Head-Modul v1.0
* Author(s) : halousi
* Copyright : Johannes Sanwald
* Created : 07.11.2005
************************************************/
<script type="text/javascript">
/***********************************************
* IFrame SSI script II- © Dynamic Drive DHTML code library (http://www.dynamicdrive.com)
* Visit DynamicDrive.com for hundreds of original DHTML scripts
* This notice must stay intact for legal use
***********************************************/
//Input the IDs of the IFRAMES you wish to dynamically resize to match its content height:
//Separate each ID with a comma. Examples: ["myframe1", "myframe2"] or ["myframe"] or [] for none:
var iframeids=["myframe"]
//Should script hide iframe from browsers that don't support this script (non IE5+/NS6+ browsers. Recommended):
var iframehide="yes"
var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1]
var FFextraHeight=parseFloat(getFFVersion)>=0.1? 16 : 0 //extra height in px to add to iframe in FireFox 1.0+ browsers
function resizeCaller() {
var dyniframe=new Array()
for (i=0; i<iframeids.length; i++){
if (document.getElementById)
resizeIframe(iframeids[i])
//reveal iframe for lower end browsers? (see var above):
if ((document.all || document.getElementById) && iframehide=="no"){
var tempobj=document.all? document.all[iframeids[i]] : document.getElementById(iframeids[i])
tempobj.style.display="block"
}
}
}
function resizeIframe(frameid){
var currentfr=document.getElementById(frameid)
if (currentfr && !window.opera){
currentfr.style.display="block"
if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight) //ns6 syntax
currentfr.height = currentfr.contentDocument.body.offsetHeight+FFextraHeight;
else if (currentfr.Document && currentfr.Document.body.scrollHeight) //ie5+ syntax
currentfr.height = currentfr.Document.body.scrollHeight;
if (currentfr.addEventListener)
currentfr.addEventListener("load", readjustIframe, false)
else if (currentfr.attachEvent){
currentfr.detachEvent("onload", readjustIframe) // Bug fix line
currentfr.attachEvent("onload", readjustIframe)
}
}
}
function readjustIframe(loadevt) {
var crossevt=(window.event)? event : loadevt
var iframeroot=(crossevt.currentTarget)? crossevt.currentTarget : crossevt.srcElement
if (iframeroot)
resizeIframe(iframeroot.id);
}
function loadintoIframe(iframeid, url){
if (document.getElementById)
document.getElementById(iframeid).src=url
}
if (window.addEventListener)
window.addEventListener("load", resizeCaller, false)
else if (window.attachEvent)
window.attachEvent("onload", resizeCaller)
else
window.onload=resizeCaller
</script>
INPUT:
Code: Alles auswählen
/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname : Auto iFrame-Modul v 1.0
* Basismodul : MOD_IFRAME_PICKER by Stefan Bürk
*
* Author: SkyBlader
* Modified By: halousi, 07-11-2005
* Created : 26-04-2004
************************************************/
$moddir = "iframedata/";
// VALUES
$sky_selectedfile = "CMS_VALUE[4000]";
$sky_iframe_width = "CMS_VALUE[4001]";
$sky_iframe_height = "CMS_VALUE[4002]";
$sky_iframe_border = "CMS_VALUE[4003]";
$sky_iframe_style = "CMS_VALUE[4004]"; // not used till yet
$sky_iframe_class = "CMS_VALUE[4005]"; // not used till yet
$sky_iframe_httpinput = "CMS_VALUE[4006]";
// VARIABLES
$sky_selectedfile2 = "CMS_VAR[4000]";
$sky_iframe_width2 = "CMS_VAR[4001]";
$sky_iframe_height2 = "CMS_VAR[4002]";
$sky_iframe_border2 = "CMS_VAR[4003]";
$sky_iframe_style2 = "CMS_VAR[4004]"; // not used till yet
$sky_iframe_class2 = "CMS_VAR[4005]"; // not used till yet
$sky_iframe_httpinput2 = "CMS_VAR[4006]";
// starting Modul Options Table
echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">";
// ################################################################################################
// START HTTPInput
// ################################################################################################
echo " <tr valign=\"top\">";
echo " <td>HTTP Link:</td>";
echo " <td>";
echo " <input type=\"text\" name=\"".$sky_iframe_httpinput2."\" value=\"".$sky_iframe_httpinput."\"> ";
echo " </td>";
echo " </tr>";
// ################################################################################################
// END HTTPInput
// ################################################################################################
// ################################################################################################
// START IFRAME-BORDER
// ################################################################################################
echo " <tr valign=\"top\">";
echo " <td>IFRAME-Border:</td>";
echo " <td>";
echo " <input type=\"text\" name=\"".$sky_iframe_border2."\" value=\"".$sky_iframe_border."\"> ";
echo " </td>";
echo " </tr>";
// ################################################################################################
// END IFRAME-BORDER
// ################################################################################################
// closing Module Options Table
echo "</table>";
Code: Alles auswählen
<?php
// Lese ausgewählte Datei aus.
$moddir = "upload/iframedata/";
$sky_selected_file = "CMS_VALUE[4000]";
$sky_iframe_width = "CMS_VALUE[4001]";
$sky_iframe_heiht = "CMS_VALUE[4002]";
$sky_iframe_border = "CMS_VALUE[4003]";
$sky_iframe_style = "CMS_VALUE[4004]"; // not used till yet
$sky_iframe_class = "CMS_VALUE[4005]"; // not used till yet
$sky_iframe_httpinput = "CMS_VALUE[4006]";
// Arbeite Einstellungsvariabeln ab
// ###################################################################################
// START - IFRAME-BORDER
if ( strlen($sky_iframe_border) > 0 )
{
$ls_iframe_border = $sky_iframe_border;
}
else
{
$ls_iframe_border = "1";
}
// END - IFRAME-BORDER
// ###################################################################################
// check for NO FILE Selected
if ( $sky_selected_file != "--KEIN--" )
{
// using selected file
// überprüfe ob ausgewählte Datei noch existiert
if ( file_exists( $moddir.$sky_selected_file ) )
{
// erzeuge IFrame Ausgabecode
echo '<iframe id="myframe" src="'.$moddir.$sky_selected_file.'" width="100%" height="100%" frameborder="'.$ls_iframe_border.'" scrolling="no">';
echo '<p>Ihr Browser unterstützt keine IFrames. Bitte aktualisieren Sie ihren Browser.</p>';
echo '</iframe>';
}
else
{
// using HTTP Input
echo '<iframe id="myframe" src="'.$sky_iframe_httpinput.'" width="100%" height="100%" frameborder="'.$ls_iframe_border.'" scrolling="no">';
echo '<p>Ihr Browser unterstützt keine IFrames. Bitte aktualisieren Sie ihren Browser.</p>';
echo '</iframe>';
}
}
else
{
// using HTTP Input
echo '<iframe id="myframe" src="'.$sky_iframe_httpinput.'" width="100%" height="100%" frameborder="'.$ls_iframe_border.'" scrolling="no">';
echo '<p>Ihr Browser unterstützt keine IFrames. Bitte aktualisieren Sie ihren Browser.</p>';
echo '</iframe>';
}
?>
Viele Grüße,
halousi