472,110 Members | 2,248 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,110 software developers and data experts.

IFRAME autosizes and DIV autoload.

In Mozilla, the following code seems to resize correctly the IFRAME,
so no scroll bars:

<iframe marginwidth=0 marginheight=0 src=text.html
onload="this.height=
this.contentDocument.height">
</iframe>

Of course a frameborder=0 can be desiderable too :-)

Also, the same trick simplifies DIV loading:

<div id=pie></div>
<iframe
onload="document.getElementById('pie').innerHTML=
this.contentDocument.body.innerHTML"
scrolling=no width=100% height=1% frameborder=0 style="visibility:hidden"
src=text.html>
here the this.innerHTML, which is not transferred
</iframe>

Regretly, the onload tag does not work in konqueror.
Jul 20 '05 #1
3 18581
> <iframe marginwidth=0 marginheight=0 src=text.html
onload="this.height=
this.contentDocument.height">
</iframe>
I get

Error: uncaught exception: Permission denied to get property HTMLDocument.height

when trying this with Mozilla (?)

Love to see it work though...

alejandro.rivero wrote: In Mozilla, the following code seems to resize correctly the IFRAME,
so no scroll bars:

<iframe marginwidth=0 marginheight=0 src=text.html
onload="this.height=
this.contentDocument.height">
</iframe>

Of course a frameborder=0 can be desiderable too :-)

Also, the same trick simplifies DIV loading:

<div id=pie></div>
<iframe
onload="document.getElementById('pie').innerHTML=
this.contentDocument.body.innerHTML"
scrolling=no width=100% height=1% frameborder=0 style="visibility:hidden"
src=text.html>
here the this.innerHTML, which is not transferred
</iframe>

Regretly, the onload tag does not work in konqueror.

--
-------------------------------------------------------------
ninth ave p: +61 7 3870 8494
_ _ _ m: +61 405 048 371
__(@)< __(@)> __(@), w: http://www.ninthave.net
\___) \___) \___) e: r.*****@ninthave.net
-------------------------------------------------------------

Jul 20 '05 #2
Roger Keays <r.*****@ninthave.net> wrote in message news:<3f***********************@news.optusnet.com. au>...
<iframe marginwidth=0 marginheight=0 src=text.html
> onload="this.height=
> this.contentDocument.height">
> </iframe>


I get

Error: uncaught exception: Permission denied to get property HTMLDocument.height

when trying this with Mozilla (?)


Hmm. Intriguing. My version of Mozilla is
Mozilla 1.4
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030908 Debian/1.4-4
I have a page (http://cgt.unizar.es/jornadas/) with the resizing code in
an extended version, and it works:
<iframe
onload="this.height=this.contentDocument.height;
this.contentDocument.body.style.borderStyle='none' ;
this.contentDocument.body.style.marginTop=0;
this.contentDocument.body.style.marginBottom=0;
this.contentDocument.body.style.paddingBottom=0;
this.contentDocument.body.style.paddingTop=0;"
onclick="this.height= this.contentDocument.height"
scrolling=auto width=100% height=0 frameborder=0
src=punterosSL.html>
Tu browser no soporta iframes. Carga directamente el
<a href=punterosSL.html>fichero</a>
</iframe>

except for the onclick :-( But the onload does its work perfectly.
All the other stuff, btw, is just to avoid the vertical scroll bar nuissance.
Jul 20 '05 #3
alejandro.rivero wrote:
<iframe onload="this.height=this.contentDocument.height"/> Error: uncaught exception: Permission denied to get property
HTMLDocument.height
DHTML and HTML are practically unrelated disciplines, please see
http://www.cs.tut.fi/~jkorpela/usenet/xpost.html. Also check out your
cross-site-scripting privleges. And use real properties:

this.setAttribute ( "height", this.contentDocument.
getElementsByTagName ( "body" ).item ( 0 ).
offsetHeight );
All the other stuff, btw, is just to avoid the
vertical scroll bar nuissance.


To handle this in Mozilla, style the content-documents:

:root {
overflow: moz-scrollbars-horizontal;
height: 100%;
}

Explorer has an overflow-x property to check. Both browsers support
adding these styles by force.
Regretly, the onload tag does not work in konqueror.


Tapping into iframe events is badly supported in most browsers. Perhaps
You can pass the information from content-document to the surrounding
enviroment for wider browser support.

window.addEventListener ( "load", function () {
top.yourResizeFunction ( document.body.offsetHeight );
}, false );

--
Wired Earp
Wunderbyte
Jul 20 '05 #4

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

1 post views Thread by Jim Schueler | last post: by
7 posts views Thread by Christopher J. Hahn | last post: by
1 post views Thread by Z1P2 | last post: by
code green
6 posts views Thread by code green | last post: by
reply views Thread by leo001 | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.