[自学做网页] iframe大小自动调整

        <div class="d-b-right" id="d-b-right">
            <iframe src="FindUser.aspx" frameborder="1" framespaceing= "0" scrolling="auto" marginheight="0" marginwidth="0" name="mmc" id="mmc" class="mmc" οnlοad="iframeOnload()"></iframe>
        </div>

  想让iframe大小自适应窗口,网上有很多操作方法,如:

/*动态调整iframe的大小*/  
   function changeIframeSize(iframeContentHeight){  
      document.getElementById('rightContent').height = iframeContentHeight+20;  
   }  
   /*iframe页面载入处理函数*/  
   function iframeOnload()  
   {  
       var frms=document.getElementById('rightContent');  
       /*判断浏览器类型*/  
        var height=($.browser.msie||$.browser.opera)? frms.document.body.scrollHeight:frms.contentDocument.body.offsetHeight;  
        changeIframeSize(height);  
        /*this.height=rightContent.document.body.scrollHeight*/  
   } 

  都可以让iframe的大小在网页载入时自动设置合适的高度。但是当调整窗口大小时,iframe的大小不会改变。我就想到让窗口打开就自动最大化

if(document.all){ 
top.window.resizeTo(screen.availWidth,screen.availHeight); 
} 
else if(document.layers||document.getElementById){ 
if(top.window.outerHeight<screen.availHeight||top.window.outerWidth<screen.availWidth){ 
top.window.outerHeight = screen.availHeight; 
top.window.outerWidth = screen.availWidth; }}

  但是如果打开时,如果不是第一个标签,也不会自动最大化。最后,使用了。window.onresize()事件。

        function iframeOnload() {
            //var win = obj;
            mmc = document.getElementById("mmc");
            var div = document.getElementById("d-b-right")
            if (div.offsetHeight) {
                winWidth = div.offsetWidth - 30;
                winHeight = div.offsetHeight - 30;
            }
            else {
                winWidth = div.offsetWidth - 30;
                winHeight = div.scrollHeight - 30;
            }
            mmc.style.height = winHeight + "px";
            mmc.style.width = winWidth + "px";
        }

  onresize要放在</body>之前,放在<head></head>里只会运行一次。

window.onresize = function () { iframeOnload(); };

  我肯定是土办法,期待大虾指点。

 

转载于:https://www.cnblogs.com/chivaTan/archive/2013/01/15/2861273.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值