iframe mit variabler Höhe?!
Garvin
- html
Hallo zusammen,
ich verzweifle hier an einem Problem.
Ich möchte ein iframe innerhalb einer Tabellenzelle definieren, welches eine feste Breite, aber eine variable Höhe haben soll.
Sprich - wenn der Inhalt des iframes breiter als die festgelegte Breite des iframes ist, sollen die Zeilen automatisch umgebrochen werden. Ist er höher, soll das iframe automatisch nach unten ausgedehnt werden. Dabei soll sich die Höhe des <td>, in dem sich das iframe befindet natürlich auch ändern.
Hat da jemand ne Idee? Oder vielleicht Alternativen zum iframe?
Dank und Gruß
Garvin
Hallo zusammen,
ich verzweifle hier an einem Problem.
Ich möchte ein iframe innerhalb einer Tabellenzelle definieren, welches eine feste Breite, aber eine variable Höhe haben soll.
Sprich - wenn der Inhalt des iframes breiter als die festgelegte Breite des iframes ist, sollen die Zeilen automatisch umgebrochen werden. Ist er höher, soll das iframe automatisch nach unten ausgedehnt werden. Dabei soll sich die Höhe des <td>, in dem sich das iframe befindet natürlich auch ändern.Hat da jemand ne Idee? Oder vielleicht Alternativen zum iframe?
Dank und Gruß
Garvin
HI!!!
Ist zwar nicht die beste Lösung, aber solange du nichts besseres hast:
#getElementById("iframe") <= Die id des iframes
#getElementById("iframe_table") <= Die id des <tds oder der Table>
Im Header ein Javascript
<script type="text/javascript">
function ChangeIFrame(hoehe)
{
var heighttmp = hoehe - document.getElementById("iframe").height;
alert(heighttmp);
document.getElementById("iframe").height = parseInt(document.getElementById("iframe").height) + parseInt(heighttmp);
alert(document.getElementById("iframe").height);
document.getElementById("iframe_table").height = parseInt(document.getElementById("iframe_table").height) + parseInt(heighttmp);
alert(document.getElementById("iframe_table").height);
}
</script>
Der Link der eine neue Seite in den iframe lädt bekommt zusätzlich:
onclick="ChangeIFrame('Die Höhe der Tabele im iframe')"
Ist nicht so toll aber geht.
MFG
Jungesmedium
PS: viel Glück :-)
HI!!!
Ist zwar nicht die beste Lösung, aber solange du nichts besseres hast:
#getElementById("iframe") <= Die id des iframes
#getElementById("iframe_table") <= Die id des <tds oder der Table>
Im Header ein Javascript<script type="text/javascript">
function ChangeIFrame(hoehe)
{
var heighttmp = hoehe - document.getElementById("iframe").height;
alert(heighttmp);
document.getElementById("iframe").height = parseInt(document.getElementById("iframe").height) + parseInt(heighttmp);
alert(document.getElementById("iframe").height);
document.getElementById("iframe_table").height = parseInt(document.getElementById("iframe_table").height) + parseInt(heighttmp);
alert(document.getElementById("iframe_table").height);
}</script>
Der Link der eine neue Seite in den iframe lädt bekommt zusätzlich:
onclick="ChangeIFrame('Die Höhe der Tabele im iframe')"
Ist nicht so toll aber geht.
MFG
JungesmediumPS: viel Glück :-)
Danke für die Hilfe, aber ich glaube, dies löst das Problem nicht.
Zum Einen ist im iframe keine Tabelle, sonders das iframe selbst ist in einer Tabelle. Zum Anderen kenne ich die Höhe der Seite, welche in das Iframe geladen wird nicht, da diese dynamisch aus einer DB geladen wird.
Also was nun?
Ich finde einfach keine passende Lösung...
Gruß
Garvin
Ich habe jetzt eine Lösung für das Problem gefunden, welche aber leider nicht im IE funktioniert:
In der Seite, welche im iframe geladen wird, führe ich onLoad folgenges aus:
parent.document.getElementById('details2').height = document.height;
details2 ist dabei die id des iframes, in das die Seite geladen wird.
Im Firefox funktioniert das ganze genau wie gewünscht. Der IE hingegen gibt an, dass das Element die Mehtode nicht unterstützt. Wie kann ich html-konform die Höhe eines iframes ändern?
Dank und Gruß
Garvin
So,
hab das Problem gelöst.
Ich hab in die Seite, die im iframe geladen wird, ein div um den gesamten Inhalt des Bodys eingefügt und rufe onLoad folgendes auf.
parent.document.getElementById('details2').style.height = document.getElementById('innerDiv').offsetHeight;
Dabei ist innerDiv das besagte div und details2 das iframe. So funzt es nun!
Gruß
Garvin