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

复制代码 代码如下:

  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;

  }

  }