iFrame help

Discussion in 'JavaScript' started by dblock120, Jun 22, 2007.

  1. #1
    Is there a way of making a table cell adapt to the contents of an Iframe so you will never experience scrolling in the Iframe.

    I am trying to create a page where the table will change size and the Iframe will change size so the contents of the Iframe will always fit on the page or in the cell. Where no scrolling is necessacery.

    I already got a code but seems that code only works on IE not Firefox

    This part of the code is not made by me

    Goes in the header of the page
    <script type="text/javascript">
    var iframeids=["Main_page"]
    var iframehide="yes"
    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> 
    Code (markup):
    Goes where you want the iframe
    <iframe id="Main_page" src="news.htm" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" vspace="0" hspace="0" style="overflow:visible; width:100%; display:none">
    If you can see this, your browser doesn't understand and use IFRAME's. However, we'll still <A HREF="news.htm">link</A> you to the file.</iframe> 
    Code (markup):
    It works great on IE but no Firefox

    Any help
     
    dblock120, Jun 22, 2007 IP
  2. dblock120

    dblock120 Guest

    Messages:
    562
    Likes Received:
    12
    Best Answers:
    0
    Trophy Points:
    0
    #2
    any help guys
     
    dblock120, Jun 23, 2007 IP
  3. NoamBarz

    NoamBarz Active Member

    Messages:
    242
    Likes Received:
    5
    Best Answers:
    0
    Trophy Points:
    58
    #3
    I wouldn't use an IFrame. Why not display the data in a div instead? The div won't have a scroll. If you want to switch the content of the div, simply use ajax to get the new page's code and write it into the div.
     
    NoamBarz, Jun 25, 2007 IP
  4. dblock120

    dblock120 Guest

    Messages:
    562
    Likes Received:
    12
    Best Answers:
    0
    Trophy Points:
    0
    #4
    I dont know how to do that i wanttt i frame its easy for me
     
    dblock120, Jun 25, 2007 IP
  5. dblock120

    dblock120 Guest

    Messages:
    562
    Likes Received:
    12
    Best Answers:
    0
    Trophy Points:
    0
    #5
    anyone can help me with this
     
    dblock120, Jun 27, 2007 IP