• dh: 实现iframe 自适应高度的问题(初始化和动态加载数据的时候)


    //ifarme的呈现方式
     function InitIframeHtml(url) {
        $('#workarea').html("<iframe src=" + url + " frameborder='0' scrolling='no' width='800'  id='adminFrame'></iframe>");
    }
    
    //注意高度不要设置。
     
     

      

    function iframeAutoHeight() {
        if (window.addEventListener)
            window.addEventListener("load", iframeAutoFit, false);
        else if (window.attachEvent)
            window.attachEvent("onload", iframeAutoFit);
        else
            window.onload = iframeAutoFit;
    }
    
    document.iframeAutoFit = iframeAutoFit; 
    
    function iframeAutoFit() {
        if (window != parent) {
            var a = parent.document.getElementsByTagName("IFRAME");
            for (var i = 0; i < a.length; i++) {
                if (a[i].contentWindow == window) {
                    a[i].style.height = '50px';
                    var h1 = 0, h2 = 0;
                    if (document.documentElement && document.documentElement.scrollHeight)
                        h1 = document.documentElement.scrollHeight;
                    if (document.body)
                        h2 = document.body.scrollHeight;
                    var h = Math.max(h1, h2);
                    if (document.all)
                        h += 4;
                    if (window.opera)
                        h += 1;
                    a[i].style.height = h + "px";
                }
            }
        }
    }
    
    页面初始化的时候:
    $().ready(function() {iframeAutoHeight();  });
    动态加载数据的时候:
    iframeAutoFit();

      

     js 实现iframe 自适应高度 超级简单的方法:

    parent.document.getElementById("adminFrame").style.height = document.body.scrollHeight + "px";

    jquery 实现iframe 自适应高度 超级简单的方法,也不用写什么判断浏览器高度、宽度啥的。

    下面的两种方法自选其一就行了。一个是放在和iframe同页面的,一个是放在test.html页面的。注意别放错地方了哦。 iframe代码,注意要写ID

    jquery代码1: //注意:下面的代码是放在test.html调用 $(window.parent.document).find("#main").load(function(){ var main = $(window.parent.document).find("#main"); var thisheight = $(document).height()+30; main.height(thisheight); });

    jquery代码2: //注意:下面的代码是放在和iframe同一个页面调用 $("#main").load(function(){ var mainheight = $(this).contents().find("body").height()+30; $(this).height(mainheight); });

  • 相关阅读:
    收藏CSS经典技巧
    理解这26句话将不再烦恼
    包转发率得计算和背板带宽的计算
    mysql 建表 AUTO_INCREMENT , 数据类型 VARCHAR
    Linux Wine with *.bat *.exe ( Photoshop and etc.. )
    [转载]expect spawn、linux expect 用法小记
    sqlmap.py Database injection and hak
    xls===>csv tables===via python ===> sqlite3.db
    sftp 服务器外网访问设置
    vsftp FTP服务器外网访问设置
  • 原文地址:https://www.cnblogs.com/dudu837/p/1783894.html
Copyright © 2020-2023  润新知