JavaScript自动设置IFrame高度(兼容各主流浏览器)

调用方式如下

<iframe id="ifm" name="ifm" onload="SetIFrameHeight('ifm')" src="http://www.qq.com" />

 

function SetIFrameHeight(down) {
        var Sys = {};
        var ua = navigator.userAgent.toLowerCase();
        var s;
        (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :
        (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :
        (s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] :
        (s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] :
        (s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;
        var pTar = null;
        if (document.getElementById) {
            pTar = document.getElementById(down);
        } else {
            eval('pTar=' + down + ';');
        }
        pTar.style.display = "block";
        if (Sys.ie) {
            if (Sys.ie == '9.0') {
                pTar.height = pTar.contentWindow.document.body.offsetHeight + 15 + "px";
                pTar.width = pTar.contentWindow.document.body.scrollWidth + "px";
            } else if (Sys.ie == '8.0') {
                debugger;
                pTar.height = pTar.Document.body.offsetHeight + 15 + "px";
                pTar.width = pTar.Document.body.scrollWidth + "px";
            } else {
                pTar.height = pTar.Document.body.scrollHeight + 25 + "px";
                pTar.width = pTar.Document.body.scrollWidth + "px";
            }
        }
        if (Sys.firefox) {
            pTar.height = pTar.contentDocument.body.offsetHeight + 15 + "px";
            pTar.width = pTar.contentDocument.body.scrollWidth + "px";
        }
        if (Sys.chrome) {
            pTar.height = pTar.contentDocument.body.offsetHeight;
            pTar.width = pTar.contentDocument.body.scrollWidth;
        }
        if (Sys.opera) {
            pTar.height = pTar.contentDocument.body.offsetHeight;
            pTar.width = pTar.contentDocument.body.scrollWidth;
        }
        if (Sys.safari) {
            if (pTar.contentDocument.body.offsetHeight <= '186') {
                pTar.height = pTar.contentDocument.body.offsetHeight + 10;
            } else {
                pTar.height = pTar.contentDocument.body.offsetHeight;
            }
            pTar.width = pTar.contentDocument.body.scrollWidth;
        }
    }
posted @ 2013-05-24 18:32  aehyok  阅读(786)  评论(0编辑  收藏  举报