Frezl
Erfahrenes Mitglied
Salü allerseits,
hab viel im Internet recherchiert und zwei Möglichkeiten gefunden, die Höhe eines IFrames an den Inhalt anzupassen, sodass nicht mehr vertikal gescrollt werden muss.
Möglichkeit 1 (von der Seite aus, die den IFrame enthält):
Möglichkeit 2 (von der Seite aus, die Inhalt des IFrames ist):
Beide Möglichkeiten funktionieren beim Aufruf der Seite problemlos. Allerdings gibt es auf der Inhalts-Seite einige Divs, die per JS ausgeklappt werden können. Ich habe noch keine Möglichkeit gefunden, wie ich beim Aufklappen die Höhe aktualisieren kann. Mit der 2. Möglichkeit und dem gleichen Script im onfocus müsste es eigentlich gehen, tut es aber nicht. Kann es sein, dass JS nur auf das Original-DOM zugreift und nicht auf das durch JS geänderte?
Wie kann ich auf das geänderte DOM zugreifen?
Gibt es auch eine Möglichkeit, mit Möglichkeit 1 zum Ziel zu kommen?
Würde mich über Tipps freuen.
Grüße,
Fred
hab viel im Internet recherchiert und zwei Möglichkeiten gefunden, die Höhe eines IFrames an den Inhalt anzupassen, sodass nicht mehr vertikal gescrollt werden muss.
Möglichkeit 1 (von der Seite aus, die den IFrame enthält):
HTML:
<script language="JavaScript" type="text/javascript">
function iFrameHeight(id) {
var e = document.getElementById(id);
var h = 0;
if (!document.all) {
h = e.contentDocument.height;
e.style.height = h + 20 + 'px';
} else if (document.all) {
h = document.frames(id).document.body.scrollHeight;
document.all.frames(id).style.height = h + 20 + 'px';
}
}
</script>
[...]
<iframe id="foobar" onload="iFrameHeight('foobar');">
Möglichkeit 2 (von der Seite aus, die Inhalt des IFrames ist):
HTML:
<script language="JavaScript" type="text/javascript">
function iFrameHeight (frame, content) {
var height = document.getElementById(content).offsetHeight + 20 + 'px';
parent.document.getElementById(frame).style.height=height;
}
</script>
[...]
<body id="content-site" onload="iFrameHeight('foobar', 'content-site');">
Beide Möglichkeiten funktionieren beim Aufruf der Seite problemlos. Allerdings gibt es auf der Inhalts-Seite einige Divs, die per JS ausgeklappt werden können. Ich habe noch keine Möglichkeit gefunden, wie ich beim Aufklappen die Höhe aktualisieren kann. Mit der 2. Möglichkeit und dem gleichen Script im onfocus müsste es eigentlich gehen, tut es aber nicht. Kann es sein, dass JS nur auf das Original-DOM zugreift und nicht auf das durch JS geänderte?
Wie kann ich auf das geänderte DOM zugreifen?
Gibt es auch eine Möglichkeit, mit Möglichkeit 1 zum Ziel zu kommen?
Würde mich über Tipps freuen.
Grüße,
Fred