精华内容
下载资源
问答
  • Iframe 高度自适应, js控制Iframe 高度自适应, iframe自适应高度 ================================ ©Copyright 蕃薯耀 2019年12月31日 http://fanshuyao.iteye.com/ 方法一:js控制Iframe 高度自适应 这个方法之前...

     Iframe 高度自适应, js控制Iframe 高度自适应, iframe自适应高度

    ================================

    ©Copyright 蕃薯耀 2019年12月31日

    http://fanshuyao.iteye.com/

    方法一:js控制Iframe 高度自适应

    这个方法之前一直都在用,没有问题,但最新发现有些情况不行(具体原因不清楚)

    /*
    function thisIframeHeightAuto(){
        setIframeHeight("auditList");
    };
     */
    //window.setInterval("iframeHeightAuto()", 200);
    function setIframeHeight(iframeId){
        var cwin = document.getElementById(iframeId);
        if(document.getElementById){
            if(cwin && !window.opera){
                if(cwin.contentDocument && cwin.contentDocument.body.offsetHeight){
                    cwin.height = cwin.contentDocument.body.offsetHeight;//FF NS
                    console.log("FF NS cwin.height=" +cwin.height);
                }else if(cwin.Document && cwin.Document.body.scrollHeight){
                    cwin.height = cwin.Document.body.scrollHeight;//IE
                    console.log("IE cwin.height=" +cwin.height);
                }
            }else if(cwin.contentWindow.document && cwin.contentWindow.document.body.scrollHeight){
                cwin.height = cwin.contentWindow.document.body.scrollHeight;//Opera
            }
        }
        console.log("cwin.height=" + cwin.height);
    };
    

    方法二:html代码控制

    在方法一不生效的时候,使用了方法二。

    头部的html不需要任何的声明,都去掉,如下面代码所示:

    <html>
    <head>
    <meta charset="UTF-8">
    <title>iframe高度自适应</title>
    </head>
    <body>
    
        <div class="mt20">
            <iframe id="mapIframe" border="0" frameborder="0" scrolling="no" 
                width="100%" height="100%" style="padding: 0;margin: 0;" ></iframe>
        </div>
    
    <script type="text/javascript" src="../js/jquery-3.4.1.min.js"></script>
    </body>
    </html>
    

    上面如果能自适应,就不需要下面的;如果上面还不自适应,需要设置

    1、body样式中的 overflow: hidden; 绝对不对省略;

    2、Iframe 中的 height='100%' 以及 滚动条不能设为no(默认是yes,不用设置即可)

     方法三:同样是js控制(未验证)

    原理:

    Iframe页面的内容利用一个<div id="iframeContent">进行包裹,div会自适应内部高度,因此,可以通过div实现子页面高度的获取。

    Iframe页面

    <body>
    <div id="iframeContent">
        ...
    </div>
    <body>
    

    父页面(嵌入Iframe的页面)增加js:

    //跨域或子页面无"iframeContent"则高度不能自适应
    function reinitIframe(iframeId, minHeight) {
        try {
            var iframe = document.getElementById(iframeId);
            var height = iframe.contentWindow.document.getElementById("iframeContent").offsetHeight;
            if (!height) {
                height = minHeight;
            }
            if (height < minHeight) {
                height = minHeight;
            }
            iframe.style.height = height + "px";
        } catch (e) {
            iframe.style.height =  minHeight + "px";
        }
    }
    

      方法四:同样是js控制(未验证)

    var browserVersion = window.navigator.userAgent.toUpperCase();
    var isOpera = browserVersion.indexOf("OPERA") > -1 ? true : false;
    var isFireFox = browserVersion.indexOf("FIREFOX") > -1 ? true : false;
    var isChrome = browserVersion.indexOf("CHROME") > -1 ? true : false;
    var isSafari = browserVersion.indexOf("SAFARI") > -1 ? true : false;
    var isIE = (!!window.ActiveXObject || "ActiveXObject" in window);
    var isIE9More = (! -[1,] == false);
    function reinitIframe(iframeId, minHeight) {
        try {
            var iframe = document.getElementById(iframeId);
            var bHeight = 0;
            if (isChrome == false && isSafari == false) {
                try {
                    bHeight = iframe.contentWindow.document.body.scrollHeight;
                } catch (ex) {                
                }
            }
            var dHeight = 0;
            if (isFireFox == true)
                dHeight = iframe.contentWindow.document.documentElement.offsetHeight + 2;//如果火狐浏览器高度不断增加删除+2
            else if (isIE == false && isOpera == false && iframe.contentWindow) {
                try {
                    dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
                } catch (ex) {
                }
            }
            else if (isIE == true && isIE9More) {//ie9+
                var heightDeviation = bHeight - eval("window.IE9MoreRealHeight" + iframeId);
                if (heightDeviation == 0) {
                    bHeight += 3;
                } else if (heightDeviation != 3) {
                    eval("window.IE9MoreRealHeight" + iframeId + "=" + bHeight);
                    bHeight += 3;
                }
            }
            else//ie[6-8]、OPERA
                bHeight += 3;
    
            var height = Math.max(bHeight, dHeight);
            if (height < minHeight) height = minHeight;
            //alert(iframe.contentWindow.document.body.scrollHeight + "~" + iframe.contentWindow.document.documentElement.scrollHeight);
            iframe.style.height = height + "px";
        } catch (ex) { }
    }
    
    //定时任务
    function startInit(iframeId, minHeight) {
        eval("window.IE9MoreRealHeight" + iframeId + "=0");
        window.setInterval("reinitIframe('" + iframeId + "'," + minHeight + ")", 100);
    }
    

    (如果你觉得文章对你有帮助,欢迎捐赠,^_^,谢谢!) 

    ================================

    ©Copyright 蕃薯耀 2019年12月31日

    http://fanshuyao.iteye.com/

    展开全文
  • iframe高度自适应

    2017-03-03 15:12:42
    iframe高度自适应
    function reinitIframe(){
    
    var iframe = document.getElementById("mainFrame");
    try{
    var bHeight = iframe.contentWindow.document.body.scrollHeight;
    var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
    var height = Math.max(bHeight, dHeight);
    iframe.height = height;
    console.log(height);
    }catch (ex){}
    }

    window.setInterval("reinitIframe()", 200);



    附地址:http://caibaojian.com/iframe-adjust-content-height.html

    展开全文
  • Iframe高度自适应

    2019-09-25 22:11:53
    Iframe高度自适应 //iframe对象 <iframe id="yearDetail" name="yearDetail" src="" style="overflow:visible;" scrolling="yes" frameborder="no" width="100%"></iframe> function reinitIf...

    Iframe高度自适应

    	//iframe对象
        <iframe id="yearDetail" name="yearDetail" src="" style="overflow:visible;" 
        		scrolling="yes" frameborder="no" width="100%"></iframe>
    
        function reinitIframe(){
    		var iframe = document.getElementById("yearDetail");
    		try{
    			var bHeight = iframe.contentWindow.document.body.scrollHeight;
    			var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
    			var height = Math.max(bHeight, dHeight);
    			iframe.height = height;
    		}catch (ex){}
    	}
    	window.setInterval("reinitIframe()", 200);
    
    展开全文
  • iframe 高度自适应

    2019-04-15 10:30:00
    <iframe id="InputDetail" src style="width:100%"></iframe>...//iframe高度自适应,方法 function reinitIframe(thisIframe) { var iframe = document.getElementById(thisIframe); ...

     

    <iframe id="InputDetail" src style="width:100%"></iframe>
    <script>//iframe高度自适应,方法
    function reinitIframe(thisIframe)
    {
        var iframe = document.getElementById(thisIframe);
        try
        {
            var bHeight = iframe.contentWindow.document.body.scrollHeight;
            var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
            var height = Math.max(bHeight, dHeight);
            iframe.height = height;
            //console.log(height);
        }
        catch (ex)
            {}
    }
    window.setInterval("reinitIframe('InputDetail')", 200);
    </script>

    参考博客:iframe高度自适应的6个方法

    转载于:https://www.cnblogs.com/dyhao/p/10709213.html

    展开全文
  • 高度自适应的实现方法有不少了,今天我们以css iframe高度自适应示例来为各位引起一些js与jquery的例子,有兴趣的可以和小编一起来看看。前因:某个项目为了统计效果,把咨询的页面窗口内嵌放进一个单独的空页面,在...
  • Iframe 高度自适应

    2019-01-21 17:23:00
    实现 iframe自适应高度,能够随着页面的长度自动的适应以免除页面和 iframe 同时出现滚动条的现象。(需要只有iframe出现滚动条) function iframeAutoFit(iframeObj) { setTimeout(function () { if (!...
  • iframe 高度 自适应

    2011-07-21 15:12:53
    现有的iframe高度自适应有以下4中情况,其中第四种是无法解决的 1.主页和iframe页面属于[color=red]相同域名,不存在js跨域问题[/color] 这种情况很简单,如果你使用jquery [code="java"] v...
  • 以下的是百分网小编为大家搜集的`js实现iframe 高度自适应实例,希望对你能有所帮助。//** iframe自动适应页面 **////输入你希望根据页面高度自动调整高度的iframe的名称的列表//用逗号把每个iframe的ID分隔. 例如: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,664
精华内容 3,065
关键字:

iframe高度自适应