Discover Habbo's history
Treat yourself with a Secret Santa gift.... of a random Wiki page for you to start exploring Habbo's history!
Happy holidays!
Celebrate with us at Habbox on the hotel, on our Forum and right here!
Join Habbox!
One of us! One of us! Click here to see the roles you could take as part of the Habbox community!


Results 1 to 3 of 3
  1. #1
    Join Date
    Nov 2007
    Posts
    144
    Tokens
    0

    Default iFrame Height Of Content

    Hi,

    Everybody knows this script, that makes the content iframe stretch to the height of whats inside even after a link being pressed, But i've been trying to get one to work for around a month, nothing seems to work

    Can anybody help!?

  2. #2
    Join Date
    Dec 2007
    Posts
    1,683
    Tokens
    0

    Latest Awards:

    Default

    Quote Originally Posted by Echo54321 View Post
    Hi,

    Everybody knows this script, that makes the content iframe stretch to the height of whats inside even after a link being pressed, But i've been trying to get one to work for around a month, nothing seems to work

    Can anybody help!?
    Give us a better description, paste us the code of the iframe.

    I have edited one from dynamicdrive for you, with the iframe code.

    PHP Code:
    <script type="text/javascript">

    /***********************************************
    © Dynamic Drive DHTML code library (http://www.dynamicdrive.com)
    ***********************************************/

    //Input the IDs of the IFRAMES you wish to dynamically resize to match its content height:
    //Separate each ID with a comma. Examples: ["myframe1", "myframe2"] or ["myframe"] or [] for none:
    var iframeids=["dynamic-frame"]

    //Should script hide iframe from browsers that don't support this script (non IE5+/NS6+ browsers. Recommended):
    var iframehide="yes"

    var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1]
    var 
    FFextraHeight=parseFloat(getFFVersion)>=0.116 //extra height in px to add to iframe in FireFox 1.0+ browsers

    function resizeCaller() {
    var 
    dyniframe=new Array()
    for (
    i=0i<iframeids.lengthi++){
    if (
    document.getElementById)
    resizeIframe(iframeids[i])
    //reveal iframe for lower end browsers? (see var above):
    if ((document.all || document.getElementById) && iframehide=="no"){
    var 
    tempobj=document.alldocument.all[iframeids[i]] : document.getElementById(iframeids[i])
    tempobj.style.display="block"
    }
    }
    }

    function 
    resizeIframe(frameid){
    var 
    currentfr=document.getElementById(frameid)
    if (
    currentfr && !window.opera){
    currentfr.style.display="block"
    if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight//ns6 syntax
    currentfr.height currentfr.contentDocument.body.offsetHeight+FFextraHeight
    else if (
    currentfr.Document && currentfr.Document.body.scrollHeight//ie5+ syntax
    currentfr.height currentfr.Document.body.scrollHeight;
    if (
    currentfr.addEventListener)
    currentfr.addEventListener("load"readjustIframefalse)
    else if (
    currentfr.attachEvent){
    currentfr.detachEvent("onload"readjustIframe// Bug fix line
    currentfr.attachEvent("onload"readjustIframe)
    }
    }
    }

    function 
    readjustIframe(loadevt) {
    var 
    crossevt=(window.event)? event loadevt
    var iframeroot=(crossevt.currentTarget)? crossevt.currentTarget crossevt.srcElement
    if (iframeroot)
    resizeIframe(iframeroot.id);
    }

    function 
    loadintoIframe(iframeidurl){
    if (
    document.getElementById)
    document.getElementById(iframeid).src=url
    }

    if (
    window.addEventListener)
    window.addEventListener("load"resizeCallerfalse)
    else if (
    window.attachEvent)
    window.attachEvent("onload"resizeCaller)
    else
    window.onload=resizeCaller

    </script
    - Don't ask me why I put it in a php thing.

    Then the iframe..

    PHP Code:
    <iframe id="dynamic-frame" name="dynamic-frame" src="some-page.php" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" vspace="0" hspace="0" style="overflow:visible; width:100%; display:none"></iframe
    I can't remember if it use's ID or NAME, because the Dynamicdrive iframe pastey thing did not include it, I added the name bit, with both in place it should work.. Good luck!

  3. #3
    Join Date
    Nov 2007
    Location
    London
    Posts
    1,577
    Tokens
    36

    Latest Awards:

    Default

    Give the iframe these two variables: name="main" id="main"
    Edit the width variable to whatever you want.
    Use this code to make it expand, works in firefox, IE and much more:

    Code:
    <script type="text/javascript">
                //<![CDATA[
                window.onload = function() {
                    var f = document.getElementById("main");
                    function resize() {
                        var h = "";
                        var w = "";
                        if (f.contentDocument) {
                            h = f.contentDocument.documentElement.offsetHeight + 20 + "px";
                            // can't find anything for Opera and Firefox that works for the width. OffetWidth doesn't work right either.(f.contentDocument.documentElement,"").getPropertyValue("width");
                        } else if (f.contentWindow) {
                            h = f.contentWindow.document.body.scrollHeight + 5 + "px";
                        } else {
                            return;
                        }
                        f.setAttribute("height",h);
                        f.parentNode.setAttribute("height",h);
                    }
                    if (window.addEventListener) {
                        f.onload = resize;
                    } else if (f.attachEvent) {
                        f.attachEvent("onload", resize);
                    } else {
                        return;
                    }
                    resize();
                }
                //]]>
            </script>
    Put it just before the </head> tag.

    This code is useless if your layout isn't coded properly/in expandables (as is any other code to make the iframe expand, it either won't work or your layout will break when it expands).
    Kind Regards,

    Guy
    __________________

    Since 2007. Unbelievable Uptime. Web hosting, resellers, master resellers, linux VPS, windows VPS, shoutcasts, at the lowest prices on the net.
    Tech-Hosts.co.uk.


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •