Inline frame größe an seite anpassen

hallo
ich hab ne frage und zwar
ich hab in meiner seite eine iframe und die Seiten die darin angezeigt werden ändern sich wenn man im menü auf einen anderen menüpunkt klickt. Und da meine seiten nicht alle gleich lang sind hab ich mir die frage gestellt ob man das iframe iwie so einstellen kann dass sich die höhe der iframe auf die der homepage anpasst.

aso kurz:
die höhe der iframe soll sich auf die höhe der homepage anpassen.

DIE BREITE KANN GLEICH BLEIBEN

lg david

Hallo David,

ich hab in meiner seite eine iframe und die Seiten die darin
angezeigt werden ändern sich wenn man im menü auf einen
anderen menüpunkt klickt. Und da meine seiten nicht alle
gleich lang sind hab ich mir die frage gestellt ob man das
iframe iwie so einstellen kann dass sich die höhe der iframe
auf die der homepage anpasst.

Die Frage gehört zwar, wenn du wirklich bei IFRAME-Elementen bleiben und nicht zur bevorzugten Lösung von serverseitigen Includes wechseln willst, eher ins Brett „JavaScript“, aber so gehts zum Beispiel:

http://sprachlernspiele.de/scroll/adaptframe.html

Gruß Gernot

danqqe genau das ist das was ich mir vorstelle aber gibt es hier auch irgendeine erklärung oder so dazu

thx david

danqqe genau das ist das was ich mir vorstelle aber gibt es
hier auch irgendeine erklärung oder so dazu

Nun, entscheidend ist, dass du den im IFRAME eingebenen Dokumenten jeweils im BODY als einziges direktes Kind ein alles umschließendes DIV-Element (im Beispiel mit der ID „cont“) verpasst und dem IFRAME-Element selbst sowohl die ID als auch das gleichnamige Namensattribut „detail“ nebst dem Aufruf der Funktion pruefe() im Onload-Eventhandler verpasst. Natürlich kannst du auch andere ID- oder NAME-Attribute bzw. Funktionsnamen wählen, musst es dann halt in der Funktion entsprechend anpassen:

function pruefe() {
if(document.all&&!window.opera) {
var a=document.all.detail;
detail.document.body.scroll=‚no‘;
} else {
var a=document.getElementsByName(‚detail‘)[0];
a.scrolling=‚no‘;
}
var a=document.getElementsByName(‚detail‘)[0];
detail.document.getElementsByTagName(‚body‘)[0].style.overflow=‚hidden‘;
var b=detail.document.getElementById(‚cont‘);
if(a.style.height != eval(b.offsetHeight+35)+‚px‘) {
a.style.height=eval(b.offsetHeight+35)+‚px‘;
}
}

Die Funktion definierst du im Mutterdokument oder bindest sie dort ein.

Gruß Gernot