有思俱乐部学习园地

动态设置iframe的宽高示例


动态设置iframe的宽高示例


        //此法比较复杂,坑比较多,
        //第一坑:必须部署网站,在本地运行会跨域
        //第二坑:_iframe.height = _height + "px";无效,需要使用_iframe.style.height
        //第三坑:解决iframe高度只能变大不能变小的问题.在执行自适应之前,先将iframe的高度设置为0 
        //第四坑:用_iframe.contentWindow.document.documentElement.scrollHeight还是用_iframe.contentWindow.document.body.scrollHeight
        //第五坑:必须设置name属性,此处还不明确坑在何处,以后研究。
        //异步加载网页设置,动态设置iframe高度的方法,iframe为一个iframe元素
        dynamicLoadIframe = function (ifr) {
            //此功能不再允许在本地做,是时候需要学会部署网站的大数据一套了!
            //动态设置iframe的高度
            var _iframe = ifr;
            //解决iframe高度只能变大不能变小的问题.在执行自适应之前,先将iframe的高度设置为0                
            _iframe.style.height = "0px";
            U.UF.DL.iframeLoad(_iframe, function () {
                //获取iframe内网页的滚动高度,
                var _height = _iframe.contentWindow.document.body.scrollHeight;
                //也可以使用下面一句话,获取iframe中所有元素的滚动高度。
                //var dHeight = _iframe.contentWindow.document.documentElement.scrollHeight;
                //设置iframe高度,设置_iframe.height是无效的
               _iframe.style.height = _height + "px";
            });
        }

尝试一下:

动态设置iframe的宽高示例,不可运行

返回结果