I-Frame Problem!

Status
Nicht offen für weitere Antworten.

Marcus_R

Grünschnabel
Hi Leute

Hab grad ein Problem mit IFrames, und zwar möchte ich, das der IFrame immer genauso groß ist, wie die Seite, der er anzeigt!

Folgenden Code hab ich eingefügt:

im Head:

<style type="text/css">
<!--
.iframe {
height:expression(frames("content").document.body.scrollHeight);
}

-->
</style>


und im Iframe:

<iframe src="test.htm" width="100%" name="content" id="content" class="iframe" scrolling="no">
...usw...

Jetzt das Prob:

Im IE gehts wunderbar, aber Mozilla und Netscape spielen da nicht mit! Wie krieg ich das auch für die beiden Browser gebacken?

Danke im voraus!

Mfg
Marcus
 
Wie hast du das im Explorer hinbekommen? Weil bei mir kann ich mach was ich will aber er ändert einfach _nicht_ die Größe des iFrames automatisch.

Habs eben auch mal mit deiner script Anweisung versucht, aber irgendwie geht das auch nicht wirklich.
 
Bei mir funktioniert das auch nicht. vielleicht kann unser freund nochmal ein bisschen konkreter werden, denn ich finde seinen ansatz schon mal ganz interessant.
 
Habs mitlerweile für den IExplorer hinbekommen. Hab den iFrame einfach in einer seperaten Tabelle laufen.
Hier der Code:
<table border="0" cellpadding="0" width="100%" style="border-collapse: collapse">
<tr>
<td colspan="0" valign="top">
<iframe style="padding-top: 1" name="content" src="..." frameborder="0" height="500" width="100%" border="0">
Ihr Browser unterst&uuml;tzt Inlineframes nicht oder zeigt sie in der derzeitigen Konfiguration nicht an.
</iframe>
</td>
</tr>
</table>
 
Bei mir funktioniert es im IExplorer jetzt auch wunderbar. Aber wie kriege ich es jetzt noch im Netscape, Mozilla und Opera hin?

ich finde diese iframes super praktisch, wenn man kein php nutzen kann, weil der provider das nicht anbietet. so muss man nur den inhalt aktualisieren. besonders beim einbinden von gaestebuechern und Foren sind diese iframes toll, weil der nutzer immernoch auf den eigenen seiten ist, obwohl er einen externen link angeklickt hat. wuerde ich das ganze nur mit tabellen regeln wuerde, muesste ich ein extrafenster oeffnen lassen und manche nutzer wissen dann nicht wie sie wieder zu meiner seite kommen. man muss sich ja immer an die unwissensten richten, nicht nach den freaks. :)

also falls jemand eine loesung fuer das iframe-problem bei den uebrigen browsern hat, dem danke ich fuer einen eintrag...
 
Das läuft bei mir auch in Mozilla&Opera7(Netscape habsch net probiert, der wirds hoffentlich auch kapiern:))
...
in der Elternseite:
Code:
<script type="text/javascript">
<!--
function resize_me(n)
{
    d=5;ifObj=document.getElementsByName(n)[0];p=(document.all)?'scroll':'offset';
    eval("ifObj.style.width=window.frames[n].document.getElementsByTagName('body')[0]."+p+"Width+"+d);
    eval("ifObj.style.height=window.frames[n].document.getElementsByTagName('body')[0]."+p+"Height+"+d);
}
//-->
</script>
Der Aufruf erfolgt vom <iframe> aus per
Code:
<body onload="parent.resize_me('content')">
...wobei der übergebene Parameter der Name des <iframe>'s ist.
 
Hallo Leute,

super Thread hier. Ist genau dass, was ich immer gesucht habe.
Ich möchte nämlich den Header bei mir in Flash machen und damit das Teil nicht immer neu starten muss ist ein Iframe für mich die einzige Lösung.

Hab aber trotzdem ein Problem mit dem Code:

Es läuft alles soweit ganz gut, die Größe des Iframes verändert sich auch, nur leider nicht genug. Der gute Frame verschluckt immer noch so ca. 3 Zeilen nach unten hab ich da was falsch gemacht oder habt Ihr das selbe Problem.
Das sieht mal halt nur wenn man den Scrollbalken an lässt oder mit der Mouse im IFrame nach unten zieht.

Hier mein Code von Index.htm:

Code:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Neue Seite 1</title>
</head>

<body bgcolor="#C0C0C0">

<script type="text/javascript">
<!--
function resize_me(n)
{
    d=5;ifObj=document.getElementsByName(n)[0];p=(document.all)?'scroll':'offset';
    eval("ifObj.style.width=window.frames[n].document.getElementsByTagName('body')[0]."+p+"Width+"+d);
    eval("ifObj.style.height=window.frames[n].document.getElementsByTagName('body')[0]."+p+"Height+"+d);
}
//-->
</script>

<table border="0" cellpadding="0" width="100%" style="border-collapse: collapse">
<tr>
<td colspan="0" valign="top">
<iframe style="padding-top: 1" name="content" src="test.htm" frameborder="0" scrolling=no height="500" width="100%" border="0">
Ihr Browser unterstützt Inlineframes nicht oder zeigt sie in der derzeitigen Konfiguration nicht an. 
</iframe>
</td>
</tr>
</table>


</body>

</html>

Und hier vom Iframe:

Code:
<html>

<head>
<meta http-equiv="Content-Language" content="de">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>test</title>
</head>

<body>

<body onload="parent.resize_me('content')">



<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>testtest</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>test</p>
<p>testtest</p>
<p>test</p>
<p>testtest</p>
<p>test</p>

</body>

</html>

Wär schön wenn Ihr mir helfen könntet.

Gruß Vonso
 
Zuletzt bearbeitet:
So, Problem hat sich von alleine erledigt.

Ich musste die Größe von Iframe wo jetzt noch 500 stand auf heigth="9999" stellen dann dürfte es immer passen.
Das kann man dann ja in etwa so wie eine Maximalgröße sehen.

Gute Sache.

Also danke nochmal.
Gruß Vonso
 
Hi,
ich habe auf meiner website auch dieses javascript benutzt,und es klappt auch,bloß was nicht so sein sollte ist,das wenn ich häufig zwischen den menüpunkten wechsel,die tabelle nach rechts ausbricht.
woran liegt das?
http://www.gedankeninferno.de

ciao
 
Hallo, ich habe auch so ein Problem, ich habe in einem DIV nen Iframe in dem ich verschiedene Seiten darstellen will, von den ich nicht weiß wie groß sie sind.
Ich habe es versucht mit der resize_me Funktion aber es tut sich nichts.
Kann mir jemand weiterhelfen?
Geht es vielleicht in DIVS gar nicht?
Vielen Dank
Quelltext poste ich mit abscihct nicht, weil er genau so aussieht wie oben schonmal beschrieben.
 
Status
Nicht offen für weitere Antworten.

Neue Beiträge

Zurück