Im ersten Post schriebst du von der Methode ob.innerHTML. Dies erwartet natürlich reguläres HTML. Ich weiss nicht, was geschieht, wenn man auch ein script Element mit Javascript-Code einfügt. Ich bezweifle, dass der Code ausgeführt wird. Das eventuell meinst du mit "verliert sich".
Ja, denke du hast da Recht, dort erwartet er wohl reines HTML ohne jeglichen Code.
Ich sehe dein Problem mit dem Padding.
Wenn dein divPopUpContent eine absolute height hätte würde sich dein Problem schnell erledigen:
Wenn ich es richtig sehe, willst du, dass der iframe 100% der height und width der content-box des Eltern-Elements beinhaltet.
Fast Korrekt, das iFrame soll 100% des Elternelementes, abzüglich der Höhe der Überschrift und der Auswahl des PopUps, Hoch sein.
Ich hab meine Funktion mittlerweile so umgestellt, das ich ohne eine feste Angabe von Pixeln für Margin etc., die Höhe berechnen kann.
Dazu musste ich das Margin allerdings direkt in die Deklaration(heißt das "inline"?) des Divs schreiben.
Denn dann kann ich zum Zeitpunkt wo meine Funktion läuft auf das Margin zugreifen, solange das Margin aus CSS kommt aber nicht.
var divPopUpContent = document.getElementById("divPopUpContent");
var divTarifHeader = document.getElementById("TarifHeader");
var iFrame = document.getElementById("iframeTarife");
var iFrameHeight = divPopUpContent.clientHeight - divTarifHeader.clientHeight - divTarifHeader.style.marginBottom.toString().replace(/px/g, "")
//var iFrameHeight = divPopUpContent.style.height - divPopUpContent.style.paddingTop - divPopUpContent.style.paddingBottom - divPopUpContent.style.borderTop - divPopUpContent.style.border.bottom - divTarifHeader.style.height - divTarifHeader.style.marginBottom;
iFrame.style.height = iFrameHeight + "px";
Wirklich zufrieden bin ich mit der Berechnung noch nicht aber sie funktioniert zumindest und das auch im IE und Firefox. :-)
Wenn jemand noch eine Vorschlag hat, würde ich den natürlich trotzdem noch gerne lesen.
MfG DanielX