使用iframe装载页面

本例子是通过点击li列来改变iframe的属性src,实现动态地显示相关的网页内容 

<BODY>
  
<ul>
  <li οnclick="readFrame('index.html');">主页</li>
  <li οnclick="readFrame(yellow.html);">黄页</li>
  <li οnclick="readFrame('blue.html')">蓝页</li>
  <li οnclick="readFrame('orange.html');">橙页</li>
</ul>

<iframe id="qframe" src="ImgPlayer.html" name="qframe" scrolling="no" frameborder="0px" 
    width="200px" οnlοad="reinitframe()">

</iframe>

<script type="text/javascript">

    
    function readFrame(urlStr){
        $('#qframe').attr('src',urlStr);
    }

    function reinitframe(){
        var iframe=document.getElementById("qframe");
        try{
            var bHeight=iframe.contentDocument.body.scrollHeight;
            var dHeight=iframe.contentDocument.documentElement.scrollHeight;
            if(navigator.appName=="Microsoft Internet Explorer"){
                var height=Math.max(bHeight+50,200);
                iframe.height=height;
            }else{
                var height=Math.max(dHeight,200);
                iframe.height=height;
            }
        }
        catch(ex){

        }
    }

</script>

</body>

 

注:
1、关于scrollHeight值
iframe.contentDocument.body.scrollHeight
iframe.contentDocument.documentElement.scrollHeight
iframe.contentWindow.document.body.scrollHeight
iframe.contentWindow.document.documentElement.scrollHeight
此四个属性值都能表示iframe的内容高度,chrome与opera中,此四个值都是相等的;
而IE10里,xxx.body.scrollHeight 小于 yyy.documentElement.scrollHeight,相差50像素

2、关于浏览器的高度适应iframe的高度
如果直接双击打开网页文件,(地址栏显示: file:///C:/xxxx/xxx.html),浏览器的高度不会随iframe高度而变化;
在发布状态下(地址栏显示:http://xxxx/xxx.html),浏览器的高度是随着iframe高度而变。
至于什么原因,暂不清楚,可能是跟浏览器机制有关。

iframe有关的属性
frameborder=[ 1 | 0 ] 柜架边框
marginWidth=Pixels 左右空出宽度
marginHeight=Pixels 上下空出的高度
scrolling=[ yes | no | auto ] 流动条(yes强制显示|no永不显示|auto自动)
align=[ top | middle | bottom | left | right ]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值