Hi,
man nehme einen <iframe id="iframe" src="bla" width="42" height="42">, sowie eine Ressource "bla", welche im Grunde aus <body id="body"><table id="table">...</table></body> besteht. Die Höhe des Inhalts von "bla" sei dynamisch.
Problemstellung: Setze die Höhe des <iframe> auf die _reelle_ Höhe von "bla", nachdem dies geladen ist.
Für Netscape 4 (ein <ilayer> ist auch noch drumherum) und IE 4+ ist die Aufgabe recht leicht zu lösen. Der <ilayer> kriegt eh die richtige Größe :-) und für den IE setze ich aus "bla" heraus:
parent.document.all.iframe.style.setAttribute('height', document.all.table.offsetHeight, 'false')
Nur für DOM finde ich leider keine Lösung, was vielleicht daran liegt, dass ich mit Opera 5.02 teste (was anderes habe ich lokal nicht installiert - dieser Browser ist aber auch Bedingung, wenn's da nicht klappt, kann ich es mit Mozilla & Co. eh vergessen). Ich finde lediglich die zuvor gesetzten Eigenschaften, alles andere ist "undefined" (insbesondere fast(!) immer offsetHeight); auch style="height:auto;" brachte nichts. Zudem schlagen alle Versuche, über setAttribute() u.ä. die Höhe auf einen neuen Wert zu setzen fehl, auch wenn ein nachfolgendes Auslesen den frisch gesetzten Wert nennt.
Unnötig zu sagen, dass ich im Archiv nur Lösungen à la "probier mal" sowie Hinweise "ab Opera 5.12" gefunden habe ;-) und auch eine Google-Suche erfolgarm blieb... ich finde nur Methoden, eine vorher definierte Höhe zu ermitteln, nicht aber eine reelle.
Falls es ein nur Brett vor dem Kopf ist, könnte mir das bitte mal jemand entfernen? Gerne mit dem RTFM-Hammer :-)
Cheatah