Iframe自动适应页面详解

| |
[不指定 2007/07/21 21:11 | by sunle ]
下面这段代码可以实现IFrame自适应高度,即随着页面的长度,自动适应以免除页面和IFrame同时出现滚动条。

方法1:


<script type="text/javascript">
//** iframe自动适应页面 **//
//输入你希望根据页面高度自动调整高度的iframe的名称的列表
//用逗号把每个iframe的ID分隔. 例如: ["myframe1", "myframe2"],可以只有一个窗体,则不用逗号。

//定义iframe的ID
var iframeids=["test"]

//如果用户的浏览器不支持iframe是否将iframe隐藏 yes 表示隐藏,no表示不隐藏
var iframehide="yes"

function dyniframesize(){
 var dyniframe=new Array()
 for (i=0; i<iframeids.length; i++){
   if (document.getElementById){
   //自动调整iframe高度
   dyniframe[dyniframe.length] = document.getElementById(iframeids);
     if (dyniframe && !window.opera){
     dyniframe.style.display="block"
       if (dyniframe.contentDocument && dyniframe.contentDocument.body.offsetHeight) //如果用户的浏览器是NetScape
         dyniframe.height = dyniframe.contentDocument.body.offsetHeight;
       else if (dyniframe.Document && dyniframe.Document.body.scrollHeight) //如果用户的浏览器是IE
         dyniframe.height = dyniframe.Document.body.scrollHeight;
     }
   }
   //根据设定的参数来处理不支持iframe的浏览器的显示问题
   if ((document.all || document.getElementById) && iframehide=="no"){
     var tempobj=document.all? document.all[iframeids] : document.getElementById(iframeids)
     tempobj.style.display="block"
   }
 }
}

if (window.addEventListener)
 window.addEventListener("load", dyniframesize, false)
else if (window.attachEvent)
 window.attachEvent("onload", dyniframesize)
else
 window.onload=dyniframesize
</script>


方法2:


<!--javascript代码段-->

<script language="Javascript">
var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1]
//extra height in px to add to iframe in FireFox 1.0+ browsers
var FFextraHeight=getFFVersion>=0.1? 16 : 0

function dyniframesize(iframename) {
 var pTar = null;
 if (document.getElementById){
   pTar = document.getElementById(iframename);
 }
 else{
   eval('pTar = ' + iframename + ';');
 }
 if (pTar && !window.opera){
   //begin resizing iframe
   pTar.style.display="block"
   
   if (pTar.contentDocument && pTar.contentDocument.body.offsetHeight){
     //ns6 syntax
     pTar.height = pTar.contentDocument.body.offsetHeight+FFextraHeight;
   }
   else if (pTar.Document && pTar.Document.body.scrollHeight){
     //ie5+ syntax
     pTar.height = pTar.Document.body.scrollHeight;
   }
 }
}
</script>

<!--然后对于主页面用到iframe的地方添加代码:-->

<iframe id="myTestFrameID" onload="javascript:{dyniframesize('myTestFrameID');}" marginwidth=0 marginheight=0 frameborder=0 scrolling=no src="http://www.1netmedia.net/temp/popuDialog/imisQQ_1n... width=215 height=100></iframe>


工作生活 | 评论(0) | 引用(0) | 阅读(813)
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]