PDA

View Full Version : Problems with IFrame SSI script II



Grubbs0621
09-14-2009, 04:27 PM
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/reccenter/new_site/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.


<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>

ddadmin
09-14-2009, 09:11 PM
The sample URL you posted doesn't work for me. Please edit/correct it.

Grubbs0621
09-14-2009, 09:17 PM
Fixed. I copied and pasted this not even thinking that it wouldn't take the abbreviated URL. My apologies.

ddadmin
09-15-2009, 04:36 AM
Your included page (http://www.tamu-commerce.edu/reccenter/new_site/side_merchandise.html) 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.

Grubbs0621
09-15-2009, 09:29 PM
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.

Grubbs0621
09-15-2009, 10:26 PM
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.