Find jobs - Debt Consolidation - Discount Perfume - Just Holden Commodores - Debt Consolidation

PDA

View Full Version : iFrame help


dblock120
Jun 22nd 2007, 4:01 pm
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>

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>

It works great on IE but no Firefox

Any help

dblock120
Jun 23rd 2007, 6:30 pm
any help guys

NoamBarz
Jun 25th 2007, 1:13 pm
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.

dblock120
Jun 25th 2007, 5:58 pm
I dont know how to do that i wanttt i frame its easy for me

dblock120
Jun 27th 2007, 10:46 am
anyone can help me with this