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; } }