DYNAMISCHES IFRAME
Metin
- html
0 Kalle_Worms0 Spytower0 Metin
Hallo,
kann mir jemand sagen, ob es möglich ist, ein IFRAME in der Breite und Höhe "automatisch" zu gestalten? Das IFRAME soll je nach Länge der dargestellten Seite länger bzw. kürzer, breiter oder schmaler sein.
Ist so etwas überhaupt möglich ?
Danke für jeden Tip.
Metin
Hallo,
Das IFRAME soll je nach Länge der dargestellten Seite länger bzw. kürzer, breiter oder schmaler sein.
Ist so etwas überhaupt möglich ?
Habe schon damit rumexperimentiert, mir ist es nicht gelungen. Offenbar können die Browser ein iFrame nicht nachträglich (wenn der Inhalt geladen ist) ändern, obwohl genau das bei anderen tags (div, table, ...) ja geht.
LG Kalle
Dein Fall wäre aber wohl mit Server- Sided Includes SSI zu lösen.
Fehler
Das Format Ihres Postings scheint unsauber zu sein (z. B. keine Zeilenumbrüche, keine Satzzeichen, alles Kleingeschrieben oder ähnliches). Solche Postings sind ungern gesehen, da sie oft schwer zu lesen sind. Sind Sie sicher, dass Sie so posten möchten?
Na, gut:
Dein
Fall
wäre
aber
wohl
mit
Server-
Sided
Includes
SSI
zu
lösen.
Besser ?
LG Kalle
Hallo Kalle,
Das Format Ihres Postings scheint unsauber zu sein (z. B. keine Zeilenumbrüche, keine Satzzeichen, alles Kleingeschrieben oder ähnliches). Solche Postings sind ungern gesehen, da sie oft schwer zu lesen sind. Sind Sie sicher, dass Sie so posten möchten?
*seufz* ist es wirklich _so_ schwer mal zu lesen was das Forum sagt? Warum drückst du nicht einfach nochmal auf "Nachricht absenden" wenn du dir sicher bist, dass du dein Posting so abschicken willst?
Grüße aus Nürnberg
Tobias
Hallo Tobias,
*seufz* ist es wirklich _so_ schwer mal zu lesen was das Forum sagt? Warum drückst du nicht einfach nochmal auf "Nachricht absenden" wenn du dir sicher bist, dass du dein Posting so abschicken willst?
Weil ich die Vorlage für den kleinen Gag einfach mitnehmen musste. Sorry, so bin ich eben.
Gruß, Kalle
Hallo Metin,
Ist so etwas überhaupt möglich ?
Ja, so was ist möglich. Ich habe volgenden JS-Code für eine dynamische Anpassung der Höhe im Einsatz.
// hier fängt der Javascript-Bereich an
// check if iFrame is loaded (only used by IE)
function pollReadyState()
{
if (document.frames["dynamicFrame"].document.readyState == "complete")
{
iFrameResize();
}
else
{
setTimeout("pollReadyState()",500);
}
}
function iFrameResize()
{
var bodyHeight = dynamicFrame.document.body.scrollHeight + 20;
document.getElementsByTagName("iframe")[0].setAttribute("height", bodyHeight);
}
...
...
...
HTML-Code
<iframe onLoad="iFrameResize();" src="meineSeite.html" name="dynamicFrame" id="dynamicFrame" scrolling="no" frameborder="0"></iframe>
<!-- Diesen Script-Bereich braucht man wegen dem IE. Dieser Bereich muss hinter dem <iframe>-Tag stehen -->
<script language="javascript">
<!--- IE 5.0 does not understand the onLoad event in the iFrame tag. Netscape uses the onLoad event to resize the iFrame --->
if (navigator.appName == 'Microsoft Internet Explorer')
{
pollReadyState();
}
</script>
//ENDE
Hoffe es hilft Dir weiter. Du musst halt noch die Breite ergänzen.
Gruss
spy
Hallo Spy,
ich habe Deinen Text wie unten einkopiert, in meine Seite eingebunden. Doch die Höhe des IFRAME passt sich nicht der Länge der Seite an. Mache ich da etwas falsch ?
Wäre dankbar für einen Vorschlag.
Metin
<script type="text/javascript">
function pollReadyState()
{
if (document.frames["dynamicFrame"].document.readyState == "complete")
{
iFrameResize();
}
else
{
setTimeout("pollReadyState()",500);
}
}
function iFrameResize()
{
var bodyHeight = dynamicFrame.document.body.scrollHeight + 20;
document.getElementsByTagName("iframe")[0].setAttribute("height", bodyHeight);
}
</script>
</head>
.
.
.
<td width="60%" valign="top">
<iframe onLoad="iFrameResize();" src="html/startseite.htm" name="dynamicFrame" id="dynamicFrame" width="100%" height="bodyHeight" scrolling="no" frameborder="0"></iframe>
<script language="javascript">
if (navigator.appName == 'Microsoft Internet Explorer')
{
pollReadyState();
}
</script>
</td>
Hallo Metin,
Ist so etwas überhaupt möglich ?
Ja, so was ist möglich. Ich habe volgenden JS-Code für eine dynamische Anpassung der Höhe im Einsatz.
// hier fängt der Javascript-Bereich an
// check if iFrame is loaded (only used by IE)
function pollReadyState()
{
if (document.frames["dynamicFrame"].document.readyState == "complete")
{
iFrameResize();
}
else
{
setTimeout("pollReadyState()",500);
}
}function iFrameResize()
{
var bodyHeight = dynamicFrame.document.body.scrollHeight + 20;
document.getElementsByTagName("iframe")[0].setAttribute("height", bodyHeight);
}
...
...
...
HTML-Code<iframe onLoad="iFrameResize();" src="meineSeite.html" name="dynamicFrame" id="dynamicFrame" scrolling="no" frameborder="0"></iframe>
<!-- Diesen Script-Bereich braucht man wegen dem IE. Dieser Bereich muss hinter dem <iframe>-Tag stehen -->
<script language="javascript">
<!--- IE 5.0 does not understand the onLoad event in the iFrame tag. Netscape uses the onLoad event to resize the iFrame --->
if (navigator.appName == 'Microsoft Internet Explorer')
{
pollReadyState();
}
</script>//ENDE
Hoffe es hilft Dir weiter. Du musst halt noch die Breite ergänzen.
Gruss
spy