当前位置: 代码迷 >> ASP.NET >> iframe 高度有关问题~
  详细解决方案

iframe 高度有关问题~

热度:10222   发布时间:2013-02-26 00:00:00.0
iframe 高度问题~~
在点击     left.aspx   页面的时候     名字为zuo的iframe   随他点击页面的高度来变换   iframe   (zuo)的高度
<table   width= "775 "   border= "0 "   height= "100% "   align= "center "   cellpadding= "0 "   cellspacing= "0 ">
    <tr>
        <td   height= "4 "   colspan= "3 "> </td>
    </tr>
    <tr>
        <td   width= "160 "     valign= "top ">
        <iframe     src= "left.aspx "   name= "change "   width= "100% "       height= "100% "     scrolling= "no "   frameborder= "NO "   id= "change "> </iframe> </td>
        <td   width= "5 "> &nbsp;
        </td>
        <td   align= "center "   valign= "top "   bgcolor= "#DEEFEF ">
        <iframe   src= " "   name= "zuo "   width= "100% "     height= "100% "     scrolling= "no "   frameborder= "NO "   id= "Iframe2 "> </iframe> </td>
    </tr>
</table>

------解决方案--------------------------------------------------------
在使用iframe时,需指定高度,但如果iframe里面的页面的内容有所变化时
可能原来指定的高度不够,怎么办?


<iframe name= "left_frame " frameborder= "0 " src= "left.jsp " width= "140 " scrolling= "no " height= "1000 "> </iframe>


解决办法就是往iframe内容的页面里面加上下面一段javascript:

<SCRIPT language=javascript>
function window.onload() {

if(top.location != self.location){

var a = window.parent.document.getElementsByTagName( 'iframe ');

for (var i=0; i <a.length; i++){

if (a[i].name == self.name) {a[i].height = document.body.scrollHeight; return;}}}

}
</script>

------解决方案--------------------------------------------------------
更好的

<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 id= "myTestFrameID "
onload= "javascript:{dyniframesize( 'myTestFrameID ');} "
marginwidth=0 marginheight=0 frameborder=0
scrolling=no src= "/myiframesrc.php "
  相关解决方案