# Iframe Höhe dynamisch anzeigen



## Muffy (13. August 2003)

hallo
ich sitze hier schon ca 2 wochen mit diesem problem und hab durch die Internetsuche nichts brauchbares gefunden.
folgendes...
Ich hab eine große Tabelle. in der mitte ist eine zelle. in dieser zelle ist dann ein iframe. nun wenn ich eine seite i, iframe lade, die größer als sie selber ist, wird nicht alles angezeigt, da ich den scrollbalken abgestellt habe. ich will nur einen balken haben und zwar den ganz rechts am browser.

ich weiß, dass es geht aber nicht wie. ich will einfach, dass der frame die selbe höhe hat, wie die in ihm geladene seite.

meine seite sieht ca so aus...

 I------------------------------I
 I                              I
 I                              I
 I------------------------------I
 I     I                  I     I
 I     I                  I     I
 I     I                  I     I
 I     I                  I     I
 I     I      Iframe      I     I
 I     I                  I     I
 I     I                  I     I
 I     I                  I     I
 I     I                  I     I
 I     I                  I     I
 I     I                  I     I
 I-----I------------------I-----I

wenn sich die zelle mit dem iframe dynamisch anpasst, passen sich auch die beiden navigationsleisten automatisch an. 
das ist genau was ich haben will.

ich hab ein befehl gefunden. vielleicht hilft der euch weiter. ich kann damit leder noch nichts anfangen, da meine JS kentnisse noch nicht die besten sind

document.getElementById('iframe').style.height=iframe.document.getElementById("table").offsetHeight;

Muffy

PS: und bitte kein "geht nicht"


----------



## THE REAL TOOLKIT (13. August 2003)

Mit offsetHeight könntest du versuchen die Größe der Seite im Iframe auszulesen und mit document.getElementById('iframeid').style.height die Größe vom Iframe verändern.


----------



## fishman (14. August 2003)

Ok, das könnte ich versuchen, kann ich aber nicht!
Kann da jemand diesen code schreiben so dass es funktioniert, denn ich habe genau das gleich problem wie Muffy!!

MfG BluBB!


----------



## Gudy (14. August 2003)

mal ne Frage...
wenn du in dem IFrame net Scrollen willst, warum nutz du es denn dann?
kannst du den Inhalt der jetzt in das IFrame soll dann nicht direkt auf die Seite tun?

wäre dann ja fast das selbe Ergebniss
cu


----------



## Muffy (14. August 2003)

für mich haben frames noch gewisse vorteile!

ok ich hab shcon mal einen kleinen zwischenstand...

im chip forum hab ich auch nachgefragt.
und einer hat sogar einen zum teil funktionierenden script geschrieben.

<body onLoad=anpassen();> <!--Die Funktion MUSS! von 
einem EventHandler aufgerufen werden 
keine Ahnung warum..--> 
<script> 

function anpassen(){ 
//Die Länge des Layers ergibt sich aus 
// der Höhe des Dokuments im Iframe 
Iframe.style.height=alex.document.body.scrollHeight+20; 
//gegebenenfalls den Summanden anpassen. Manchmal ists einbissl mehr, mal weniger.. 
} 

</script> 

<div id=Iframe style=" width:400;height:50; "> 
<iframe src="drin.htm" style="height:100%;width:200;" name=alex> 
</div> 

Warum auch immer, dieser Text wird nicht in der Homepage angezeigt. Ich nehme an, dass es damit zusammenhängt, dass er unterhalb des Iframes steht. 



</body>



das problem ist nur, das dieser script nur bei normalen seiten funktioniert.  liegt die seite im internet, klappt er nicht mehr.

was ich vermute... die funktion prüft die länge der seite. da die seite aber noch nicht fertig geladen ist, bekommt sie auch keinen wert. deswegen klappt es nicht. 

man könnte evtl einen preloader benutzen oder die function erst nach fertig laden der seite ausführen ( was mir lieber ist ). 

es ist aber nur eine vermutung... 

wie stelle ich das jetzt an?


----------



## fishman (15. August 2003)

*@Gudy:* Da diese Seiten im iFrame (cs-Clanseite)
auf dem Server eines Intern liegen!
Je nach inhalt verändert sich die seiten größe, aber der Frame nicht!
Ich will keine Scrollbalken daher die Frage!!

//edit: http://www.team-ttt.de/


----------



## hornet1410 (28. Juni 2005)

Hi,
ich hab genau das selbe Problem! Würde gerne einen Shop in einem iFrame laden!
Allerdings hab ich ja nur einen Link der zu dem Shop führt! 

Ich hätte gerne das sich der iFrame der höhe des zu ladenden Shop´s anpasst!
Habt ihr da schon was raus bekommen?


----------



## FMUELLER (16. August 2005)

Hallo,

ich habe herausbekommen, wie man die Höhe eines iframes an seinen Inhalt anpassen kann.

```
<iframe id="iframe" src="./seite.htm" onload="document.getElementById('iframe').style.height=text.document.getElementById('inhalt').offsetHeight;" scrolling="no" marginheight="0" marginwidth="0" frameborder="0"></iframe>
```

Wenn ihr das so in einbaut funktioniert es.


----------



## AKrebs70 (16. August 2005)

Hallo!

Ich glaube php währe hier aber die beste Lösung.

Axel


----------



## L-u-z-i-f-e-r (29. August 2005)

@ FMUELLER: das sieht ja gar nciht schlecht aus, aber wo muss ich dann die ID "inhalt" setzen? die müsste ja eigentlich die angezeigte html definieren..!?


----------



## son gohan (29. August 2005)

So, dann will ich mich mal anschliesen, habe selber keine Ahnung wie ich dem Iframe klar machen soll das er sich dynamisch dem Inhalt anpassen soll ohne scoller?

Falls die zuvor gepostete Lösung von FMUELLER funktioniert wäre es nicht schlecht wenn die mal jemand in PHP umschreibt.

In der Lösung von FMUELLER kann ich aber nichts erkennen was die Breite dynamisch ändert und das könnte doch Probleme schaffen wenn der scroller aus ist und die Seite zu breit ist oder. Wie meint ihr das lösen zu können?


----------



## Fr34kman (6. Februar 2006)

hat jemand ne lösung die funktioniert?

ich such auch schon seit ner weigkeit danach


----------



## Maik (6. Februar 2006)

@ Fr34kman: im Javascript-Forum solltest du fündig werden.

Bitte beachte in deinen Beiträgen die Regeln der deutschen Rechtschreibung, insbesondere die Groß- und Kleinschreibung. Siehe hierzu auch die Netiquette Nr.15.

Der von dir zweimal wiederbelebte Thread wird nun endgültig geschlossen.


----------

