Results 1 to 6 of 6

Thread: Problems with IFrame SSI script II

  1. #1
    Join Date
    Sep 2009
    Posts
    4
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Problems with IFrame SSI script II

    1) Script Title: Problems with IFrame SSI script II

    2) Script URL (on DD): http://www.dynamicdrive.com/dynamici...iframessi2.htm

    3) Describe problem: I recently took over a web site that was in the middle of a redesign. The site he was working on works perfectly in Mozilla, but won't work in IE or Chrome. It simple resizes into a very small box.

    http://www.tamu-commerce.edu/reccent...ite/index.html

    This is the current script I have in the code: I have already made one change to it that "geoffbeaumont" posted in another topic I was reading while researching trying to fix the problem. Thanks for any help you can provide.
    Code:
    <script type="text/javascript">
    /* Start of Code for dynamic iFrame resizing */
    <!--
    
    /***********************************************
    * 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=["main_frame", "links", "merchandise"]
    
    //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.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){
    currentfr.style.display = "block";
    if (currentfr.Document && currentfr.Document.body.scrollHeight) //ie5+ syntax
    currentfr.height = currentfr.Document.body.scrollHeight;
    else if (currentfr.contentDocument && currentfr.contentDocument.body.scrollHeight) //ns6+ / opera syntax
    currentfr.height = currentfr.contentDocument.body.scrollHeight + FFextraHeight;
    else if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight) //standards compliant syntax - probably nothing will drop through to this
    currentfr.height = currentfr.contentDocument.body.offsetHeight + FFextraHeight;
    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>
    Last edited by Grubbs0621; 09-14-2009 at 09:16 PM. Reason: Put script in CODE tags

  2. #2
    Join Date
    Aug 2004
    Posts
    10,143
    Thanks
    3
    Thanked 1,008 Times in 993 Posts
    Blog Entries
    16

    Default

    The sample URL you posted doesn't work for me. Please edit/correct it.
    DD Admin

  3. #3
    Join Date
    Sep 2009
    Posts
    4
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default

    Fixed. I copied and pasted this not even thinking that it wouldn't take the abbreviated URL. My apologies.

  4. #4
    Join Date
    Aug 2004
    Posts
    10,143
    Thanks
    3
    Thanked 1,008 Times in 993 Posts
    Blog Entries
    16

    Default

    Your included page contains a JavaScript error. In IE for example, that halts the execution of the rest of the scripts on the entire page, which includes IFRAME SSI.

    Try removing the Accordion menu script from within the included page, as it doesn't seem necessary anyway.
    DD Admin

  5. #5
    Join Date
    Sep 2009
    Posts
    4
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default

    I was getting rid of the merchandise page anyways as it was not needed.

    However, it is doing the same problem. I know the guy who did the site before me wanted to use the accordion menu because of all the sub menus. I could try replacing it with a pop out menu of some sort. Thanks the for the ideas.

  6. #6
    Join Date
    Sep 2009
    Posts
    4
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default

    Found the problem. In addition to the javascript error, there was a comment tag he had put in the header that wasn't closed out. Thanks for the help.

Bookmarks

Posting Permissions

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