Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 5 of 5
  1. #1
    New Coder
    Join Date
    Jan 2006
    Posts
    68
    Thanks
    0
    Thanked 0 Times in 0 Posts

    firefox iframe fit content

    Howdy,
    I am using the script on the following page:
    http://www.dynamicdrive.com/dynamici...iframessi2.htm

    Its called Iframe SSI script II. It works great in IE, but my iframes are not resizing in firefox. Anyone have any ideas? I have been looking for a solution, but have not found one. I also added a name to my iframe to match the id, thinking firefox might have to use that instead of the id.

    Thanks,
    PoJ

  • #2
    New Coder
    Join Date
    Jan 2006
    Posts
    68
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Hello,
    I still can't figure out why the iframe script is not working in firefox. Any suggestions?

    Page:
    Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    
    <link href="secondary05.css" rel="stylesheet" type="text/css">
    
    <title>Knowledge Center</title>
    
    
    <script type="text/javascript">
    
    /***********************************************
    * IFrame SSI script II- © Dynamic Drive DHTML code library (http://www.dynamicdrive.com)
    * Visit DynamicDrive.com for hundreds of original DHTML scripts
    * This notice must stay intact for legal use
    ***********************************************/
    
    //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=["myframe"]
    
    //Should script hide iframe from browsers that don't support this script (non IE5+/NS6+ browsers. Recommended):
    var iframehide="no"
    
    var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1]
    var FFextraHeight=parseFloat(getFFVersion)>=0.1? 16 : 0 //extra height in px to add to iframe in FireFox 1.0+ browsers
    
    function resizeCaller() {
    var dyniframe=new Array()
    for (i=0; i<iframeids.length; i++){
    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.all? document.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", readjustIframe, false)
    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(iframeid, url){
    if (document.getElementById)
    document.getElementById(iframeid).src=url
    }
    
    if (window.addEventListener)
    window.addEventListener("load", resizeCaller, false)
    else if (window.attachEvent)
    window.attachEvent("onload", resizeCaller)
    else
    window.onload=resizeCaller
    
    </script>
    </head>
    <body>
    <div id="main">
    <div id="header"><div id="homehotspot"><a href="default.asp"><img border="0" src="images/logo.gif" alt="Fathom SEO Logo"></a></div>
    <div id="headerkeywords">Search Engine Optimization Firm, Search Engine Placement</div>
    <div id="headerphonenumber">Reporting Center</div>
    <!--<div id="headermaintitle">Search Engine Optimization Services</div>-->
    <!--#include file="include/emailnewslettersignup.html" -->
    </div><!--End of Header -->
    <div id="topnav">
    <div id="nav"><!--#include file="include/topnav/topnav.html" --></div>
    
    </div><!--End of topnav -->
    
    <div id="container">
    <iframe src="../kc_home.asp" id="myframe" name="myframe" width="100%" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" vspace="0" hspace="0"></iframe>
    
    <div id="footer">
    <!--#include file="include/footer.html" -->
    </div>
    
    </div><!-- End of container div -->
    
    </div><!-- End of main div -->
    </body>
    </html>
    Thanks Poj

  • #3
    New Coder
    Join Date
    Jan 2006
    Posts
    68
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Solved

    Howdy,
    I replaced
    Code:
    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;
    with

    Code:
    if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight) //ns6 syntax
    currentfr.height = currentfr.contentDocument.body.offsetHeight+FFextraHeight; 
    else if (currentfr.contentDocument && currentfr.contentDocument.documentElement.offsetHeight) //ns6 syntax
    currentfr.height = currentfr.contentDocument.documentElement.offsetHeight+FFextraHeight; 
    else if (currentfr.Document && currentfr.Document.body.scrollHeight) //ie5+ syntax
    currentfr.height = currentfr.Document.body.scrollHeight;
    else if (currentfr.Document && currentfr.Document.documentElement.scrollHeight) //ie5+ syntax
    currentfr.height = currentfr.Document.documentElement.scrollHeight;
    It now works in FF and IE!
    Thanks,
    Poj
    Last edited by prophetofjah; 05-21-2007 at 09:59 PM.

  • #4
    Regular Coder howie2009's Avatar
    Join Date
    May 2009
    Location
    Ireland
    Posts
    206
    Thanks
    37
    Thanked 0 Times in 0 Posts
    Superb!

    Can you u get it working in Opera browser too by tweaking the code. FF and safari work fine

    THANKS & WELL DONE

  • #5
    Regular Coder howie2009's Avatar
    Join Date
    May 2009
    Location
    Ireland
    Posts
    206
    Thanks
    37
    Thanked 0 Times in 0 Posts

    Cross Browser resize to iframe content RESOLVED

    found answer for opera

    replace
    if (currentfr && !window.opera){
    with
    if (currentfr){


    Yayyyyyyyyyyyyyyyyyyyyy! Finallly!!!!!!!!!!!!


  •  

    Posting Permissions

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