Iframe Höhe dynamisch anzeigen

Status
Nicht offen für weitere Antworten.

Muffy

Grünschnabel
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" :(
 
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.
 
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!
 
Zuletzt bearbeitet:
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
 
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?
 
Zuletzt bearbeitet:
@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/
 
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?
 
Hallo,

ich habe herausbekommen, wie man die Höhe eines iframes an seinen Inhalt anpassen kann.
Code:
<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.
 
@ 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..!?
 
Status
Nicht offen für weitere Antworten.
Zurück