von document Höhe des iframes ermitteln

SYS83

Mitglied
Hallo Ihr,

ich habe ein kleines Problem mit einem IFrame in einer Seite. Der IFrame wird über eine JavaScript-Bibliothek erzeugt und ich habe also keine id für den Frame.

Jetzt wird in dem Iframe eine Toolbar und ein Datagrid angezeigt. Jetzt möchte ich, dass beim Laden der Seite im Iframe, die Höhe des Datagrid dynamisch an den sichtbaren Bereich des IFrames anpassen. Je nach größe des Hauptfensters des Browsers variiert die Größe des IFrames. wie kann ich jetzt die Höhe des Iframes innerhalb des document des IFrames auslesen? "document.height" habe ich versucht, aber das ist wohl leider der falsche Ansatz.

Hier noch schnell der Code des Dokuments im IFrame. Ich möchte gern in der Funktion Build() als letzten Befehl die Höhenanpassung vornehmen.

HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>ReisenGrid</title>
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="pragma" content="no-cache"> 
<meta http-equiv="expires" content="0"> 
<script type="text/javascript" src="../dhtmlxToolbar/codebase/dhtmlxcommon.js"></script>
<script type="text/javascript" src="../dhtmlxToolbar/codebase/dhtmlxtoolbar.js"></script>
<link rel="stylesheet" type="text/css" href="../dhtmlxToolbar/codebase/skins/dhtmlxtoolbar_dhx_skyblue.css"></link>

<link rel="STYLESHEET" type="text/css" href="../dhtmlxGrid/codebase/dhtmlxgrid.css">
<link rel="stylesheet" type="text/css" href="../dhtmlxGrid/codebase/skins/dhtmlxgrid_dhx_skyblue.css">
<script src="../dhtmlxGrid/codebase/dhtmlxcommon.js"></script>
<script src="../dhtmlxGrid/codebase/dhtmlxgrid.js"></script>
<script src="../dhtmlxGrid/codebase/dhtmlxgridcell.js"></script>

 <link rel="stylesheet" type="text/css" href="../dhtmlxWindows/codebase/dhtmlxwindows.css">
 <link rel="stylesheet" type="text/css" href="../dhtmlxWindows/codebase/skins/dhtmlxwindows_dhx_skyblue.css">
 <script src="../dhtmlxWindows/codebase/dhtmlxcommon.js"></script>
 <script src="../dhtmlxWindows/codebase/dhtmlxcontainer.js"></script>
 <script src="../dhtmlxWindows/codebase/dhtmlxwindows.js"></script> 
 <script type="text/javascript" src="Reisen.js"></script>
 <link rel="stylesheet" type="text/css" href="../../SYS.css">
</head>
<body style="margin: 0px; overflow: auto;">
<div style="width: 100%;"><div name="toolbarObj" id="toolbarObj"/></div>
<div name="grid" id="grid" style="width: 99%; height: 500px;"/>
<script>
dhtmlxAjax.get("ReisenXML.php",function(loader){ResponseReader(0,loader);});
Build();
</script>
</body>
</html>
 
Die Höhe von iFrames anzupassen ist etwas kniffelig.

Im Grunde brauchst du ein JavaScript innerhalb des iFrames, welches die Höhe des selbigen ausließt.
Diese Höhe übergibst du dann an ein JavaScript-Snippet innerhalb der "normalen" Seite, sprich die, die das iFrame umgibt. Von da aus kannst du dann ohne Probleme die Höhe des iFrames über dessen style-Attribut anpassen.

Ohne innerhalb des iFrames JavaScript platzieren zu können, ist es meines erachtens nach kaum möglich, die Höhe zuverlässig auslesen zu können.

Btw.: Wird der Inhalt der Seite und der Inhalt des iFrames über die selbe Domain geladen?
 
Du hast mich missverstanden. Ich möchte aus dem Dokument, was im IFrame angezeigt wird, die Höhe des IFrames auslesen und für weitere Berechnungen verwenden. Ich möchte nicht von dem Dokument aus die Höhe des Iframes ändern.

Im Grunde brauchst du ein JavaScript innerhalb des iFrames, welches die Höhe des selbigen ausließt.

Genau das ist es, was ich suche.
Btw.: Wird der Inhalt der Seite und der Inhalt des iFrames über die selbe Domain geladen?
Ja, wird er.
 
Zuletzt bearbeitet:
ich habe die Lösung für das Ermitteln der iframe-Höhe aus dem eingebettetem Dokument gefunden ( nach einigen Haaren weniger):

Code:
var IFrameHeight = document.body.clientHeight;
 
Zurück