欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

自动适应iframe右边的高度

程序员文章站 2022-05-28 21:19:46
在开发项目过程中,用iframe嵌套,会发现一个问题,用iframe嵌套的html结构右边不会自动适应高度。 这时候找到了一个解决方法:

在开发项目过程中,用iframe嵌套,会发现一个问题,用iframe嵌套的html结构右边不会自动适应高度。

这时候找到了一个解决方法:

<iframe name="my_iframe" id="mainframe" marginheight="0" marginwidth="0" frameborder="0" scrolling="no" width="100%" height="100%" src=""></iframe>

2、记住要引入iframe.js文件

<script type="text/javascript" src="js/iframe.js" ></script>

下面是iframe.js的具体内容

var browserversion = window.navigator.useragent.touppercase();
var isopera = browserversion.indexof("opera") > -1 ? true : false;
var isfirefox = browserversion.indexof("firefox") > -1 ? true : false;
var ischrome = browserversion.indexof("chrome") > -1 ? true : false;
var issafari = browserversion.indexof("safari") > -1 ? true : false;
var isie = (!!window.activexobject || "activexobject" in window);
var isie9more = (! -[1, ] == false);
function reinitiframe(iframeid, minheight) {
  try {
    var iframe = document.getelementbyid(iframeid);
    var bheight = 0;
    if (ischrome == false && issafari == false)
      bheight = iframe.contentwindow.document.body.scrollheight;
    var dheight = 0;
    if (isfirefox == true)
      dheight = iframe.contentwindow.document.documentelement.offsetheight + 2;
    else if (isie == false && isopera == false)
      dheight = iframe.contentwindow.document.documentelement.scrollheight;
    else if (isie == true && isie9more) {//ie9+
      var heightdeviation = bheight - eval("window.ie9morerealheight" + iframeid);
      if (heightdeviation == 0) {
        bheight += 3;
      } else if (heightdeviation != 3) {
        eval("window.ie9morerealheight" + iframeid + "=" + bheight);
        bheight += 3;
      }
    }
    else//ie[6-8]、opera
      bheight += 3;
    var height = math.max(bheight, dheight);
    if (height < minheight) height = minheight;
    iframe.style.height = height + "px";
  } catch (ex) { }
}
function startinit(iframeid, minheight) {
  eval("window.ie9morerealheight" + iframeid + "=0");
  window.setinterval("reinitiframe('" + iframeid + "'," + minheight + ")", 100);
}

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!