• js控制iframe高度兼容ie浏览器


    需求:

      在一个列表页面中需要在点开的时候展开列表信息对应的详细信息页,由于信息展示用到的是静态页面,所以首先想到的是ifram加载详细信息页;

    由此引发了iframe加载页面后高度没有适应详细信息页内容的高度的问题。

    以下代码为参考网上其他博客做出:

    //展开点击事件
        $('.ewb-public-main').on('click', '.ewb-public-node', function(event) {
            var $this = $(this).parent();
            if (event.target.className != 'ewb-public-arrow') {
                $(".ewb-public-link").each(function(index, element) {
                    if (!$(this).is($this)) {
                        $(this).removeClass('active');
                    }
                    $(".ewb-public-link").find(".ewb-public-arrow").text("展开");
                });
                $this.toggleClass('active');
                $(".ewb-public-link.active").find(".ewb-public-arrow").text("收起");
                var iframeid = $this.find(".ewb-public-block").find("iframe").attr("id");
                //alert(iframeid);
                dyniframesize(iframeid);
            }
        });
        
        //iframe页面宽度、高度自适应, down为iframe的id
        function dyniframesize(down) {
            var pTar = null;
            if (document.getElementById) {
                pTar = document.getElementById(down);
            } else {
                eval('pTar = ' + down + ';');
            }
            if (pTar && !window.opera) {
                //begin resizing iframe 
                pTar.style.display = "block"
                if (pTar.contentDocument && pTar.contentDocument.body.offsetHeight) {
                    //ns6 syntax 
                    //alert(pTar.contentDocument.body.offsetHeight);
                    pTar.height = pTar.contentDocument.body.offsetHeight + 60;
                    pTar.width = pTar.contentDocument.body.scrollWidth + 60;
                } else if (pTar.Document && pTar.Document.body.scrollHeight) {
                    //ie5+ syntax 
                    //alert(pTar.Document.body.scrollHeight);
                    pTar.height = pTar.Document.body.scrollHeight;
                    pTar.width = pTar.Document.body.scrollWidth;
                }
            }
        }

    以上代码兼容ie9以上,尤其360安全浏览器。

    初心回归,时光已逝!
  • 相关阅读:
    c#.net内部异常捕获问题
    jquery里面去判断一个DIV是否显示
    jquery调用asp.net 页面后台方法
    免费订阅天气并发送到手机
    LINQ语句之Select/Distinct和Count/Sum/Min/Max/Avg
    .net程序员应该掌握的常用类库
    jquery 图片放大镜例子
    MVC中关于Controller的最佳实践
    C#中foreach,for,while,DoWhile循环
    frameset框架滚动条的处理
  • 原文地址:https://www.cnblogs.com/yin1361866686/p/9835281.html
Copyright © 2020-2023  润新知