Hello
Some quick thoughts.
You may need to be clearer about what exactly is not working.
Is it that:-
(1) the IFRAME onload event (and resize function) is not firing at
all, or
(2) that the resize function is not working as expected (i.e. the
height is not the desired height)?
1. ONLOAD EVENT
I think (I could be wrong) that Opera does not support the onload
event on the IFRAME element.
It does however I think support the "readyState" property on
documents.
So in Opera, your only way may be to include either:-
(a) Some script within the web page to be loaded in the IFRAME, that
calls the parent method:-
<BODY onload="window.parent.resize('IFRAMEID')">
(b) Monitor the document readyState from the parent using a
setInterval process.
I.e. if (myIFrame.contentWindow.document.readyState=="comp lete"){resize();}
2. IFRAME not resizing properly
The scrollHeight value may not be reliable.
Browsers may vary as to whether they take into account margins around
HTML and BODY elements. So you may need to experiment a little here.
Also, you need to take into account the borders and margins of the
IFRAME element itself.
3. FURTHER READING
A useful page on IFRAMES is:-
http://www.dyn-web.com/dhtml/iframes/
A similar post on another site:-
http://www.ozoneasylum.com/9671&latestPost=true
Julian