程序员人生 网站导航

如何让iframe网页自适应高度?

栏目:Discuz时间:2014-05-13 09:33:35

  网(LieHuo.Net)教程 做后台管理时候,经常用到在ifame里嵌入一个页面,但iframe高度不能随页面高度增加而增高.所以得借助JS解决. 在iframe内页里面欠入此段JS即可.

以下为引用的内容:
    ////后台辅助
var admin = {
    //计算页面最大宽高值
    size: function() {
        var a, yc;
        var b, wh, pw, ph;
        a = window.innerHeight && window.scrollMaxY ? document.body.scrollWidth : document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollWidth : document.body.offsetWidth;
        yc = window.innerHeight && window.scrollMaxY ? (window.innerHeight + window.scrollMaxY) : document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight;
        b = self.innerHeight ? self.innerWidth : document.documentElement && document.documentElement.clientHeight ? document.documentElement.clientWidth : document.body.clientWidth;
        wh = self.innerHeight ? self.innerHeight : document.documentElement && document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight;
        ph = yc < wh ? wh : yc;
        pw = a < b ? b : a;
        return new Array(pw, ph, a, yc)
    },
    //增加监听事件
    addEvent: function(o, a, b) {
        o.attachEvent ? o.attachEvent('on' + a, function() {
            b.call(o)
        }) : o.addEventListener(a, b, false)
    },
    //iframe 跟其中内嵌页面高度重设iframe高度
    init: function() {
        var o = admin.size();

        //这个ID是它上面包含它那个iframe的  ID
        var k = parent.document.getElementById('mainframe');
        if (!k) return;
        k.style.height = o[1] + 'px';
    }
}
//为 window 对像增加一个方法(iframe高度重新计算)
admin.addEvent(window, 'load', admin.init);

  最后看一下演示:


提示:可修改后代码再运行!


------分隔线----------------------------
------分隔线----------------------------

最新技术推荐