欢迎访问啄木鸟家庭维修
首页 > 家修学院 > 生活百科 > iframe 自适应高度
找附近维修师傅,快速上门预约  

iframe 自适应高度

2023-05-27 来源:啄木鸟家庭维修 596

  iframe 自适应高度也就是说基于界面美观和交互的考虑,很好的隐藏了iframe的border和scrollbar,让人看不出它是个iframe。那么iframe 自适应高度方法有哪些呢?下面就来简单介绍一下。

  iframe 自适应高度如说是始终都调用同一个固定高度的页面,我们直接写死iframe高度就可以了。而如果iframe要切换页面,或者被包含页面要做DOM动态操作,这时候,就需要程序去同步iframe高度和被包含页的实际高度了。

  如果iframe的高度没有确定,那将是初始的高度。

  iframe是网页中的一部分,其大小还要受到网页的限制,设置最高可以使用height=“100%”。

  基本上解决iframe超出的高度都是增加了滚动条来实现的,很简单,如果你iframe中的信息超出了一屏幕,你就必须使用滚动条了。

  开始用的时候还不行,后来发现是因为js跨域问题,没有权限。后来设置了window.document.domain 就可以了,用的是jquery代码2方法。

  跨域下的iframe自适应高度

  跨域的时候,由于js的同源策略,父页面内的js不能获取到iframe页面的高度。需要一个页面来做代理。

  方法如下:假设www.a.com下的一个页面a.html要包含www.b.com下的一个页面c.html。

  我们使用www.a.com下的另一个页面agent.html来做代理,通过它获取iframe页面的高度,并设定iframe元素的高度。

  a.html中包含iframe:

       

  在c.html中加入如下代码:

                        (function autoHeight(){        var b_width = Math.max(document.body.scrollWidth,document.body.clientWidth);        var b_height = Math.max(document.body.scrollHeight,document.body.clientHeight);        var c_iframe = document.getElementById(“c_iframe”);        c_iframe.src = c_iframe.src+”#”+b_width+”|”+b_height;     })();

  最后,agent.html中放入一段js:

                var b_iframe = window.parent.parent.document.getElementById(“Iframe”);        var hash_url = window.location.hash;        if(hash_url.indexOf(“#”)>=0){        var hash_width = hash_url.split(“#”)[1].split(“|”)[0]+”px”;        var hash_height = hash_url.split(“#”)[1].split(“|”)[1]+”px”;        b_iframe.style.width = hash_width;        b_iframe.style.height = hash_height;    }

  agent.html从URL中获得宽度值和高度值,并设置iframe的高度和宽度(因为agent.html在www.a.com下,所以操作a.html时不受JavaScript的同源限制)

  超级简单的方法,也不用写什么判断浏览器高度、宽度啥的。

  下面的两种方法自选其一就行了。一个是放在和iframe同页面的,一个是放在test.html页面的。

  注意别放错地方了哦。

  下面是其他两种方法:

  iframe代码,注意要写ID

  jquery代码1:

  //注意:下面的代码是放在test.html调用

  $(window.parent.document).find(“#main”).load(function(){

  var main = $(window.parent.document).find(“#main”);

  var thisheight = $(document).height()+30;

  main.height(thisheight);

  });

  jquery代码2:

  //注意:下面的代码是放在和iframe同一个页面调用

  $(“#main”).load(function(){

  var mainheight = $(this).contents().find(“body”).height()+30;

  $(this).height(mainheight);

  });

  第二种有效,不过要注意一点是,增加的JS要写在iframe下面,放在头部是测试没有效果。

  测试代码:

  以上就是有关iframe 自适应高度的方法介绍,如果您有需要可以参考本文。

免责声明:本网站转載内容均注明出处,转載是出于传递更多信息之目的,井不意味成其观点或证实其内容真实性。转载稿涉及版权等问题,请 立即联系网站编辑,我们会予以更改或删除相关文章,保证您的权利
上一篇: Fn键在哪 下一篇: DOS命令
预约一下·服务到家
请选择地址
      获取验证码

      好师傅推荐

      刘师傅

      刘师傅

      最近已有2614人购买 联系TA
      马老师

      马老师

      最近已有2742人购买 联系TA
      李师傅

      李师傅

      最近已有2867人购买 联系TA

      热门问题

      海尔热水器显示f4是啥意思呢

      海尔热水器显示f4是啥意思?1、热水器的排气阀门出现故障,不能够正常的进行排气。2、温感探头由于故障问题未能正常工作。3、热水器的主板出现有焊接点松动的情况发生。4、电子膨胀阀周围产生大量的污垢,不能够正常工作。

      851次访问 查看详情

      电热水器安装法

      首先要先挂机、装水路必须选用PPR材料的卫生水管,水管连接应密封圈可靠连接可靠,安全阀应直接与热水器进水接口连接,再连接水管路;安装前必须辨别冷、热水接口位置,清理管内污物,并辨别其水路走向及管路连通的设施是否合理,确认正确后再安装。

      914次访问 查看详情

      燃气热水器能安装在橱柜里吗

      不可以。国家规范都要求燃气热水器放在通风、易查表、易检修的位置;对于燃气立管的要求也绝非不能封闭,而是不能与强电同一井道内,同时要求设置检修口;在规范中,燃气管甚至可以暗敷。

      637次访问 查看详情

      电视怎么安装呀?

      1、在装修的时候要留出挂电视的地方,用红砖水泥砌上,确保能把电视挂牢固。2、打开电视架的盒子,将显示平面放在水平的地方,用卷尺测量电视机后面螺丝孔两两之间的距离,确定买到合适的机体架。

      865次访问 查看详情

      电视支架安装方法

      1、将横排挂架固定在墙面上,用铅笔标记好需要打孔的位置。按画好的标记,在墙面上用冲击钻打上四个孔。2、用锤子将膨胀管砸入墙内的孔洞中。然后把螺母穿过架子拧入匹配好的膨胀管中。3、将竖直支架装在电视机背后再将竖直支架扣在墙面支架上即可。

      640次访问 查看详情
      没有合适的?想获取更多维修报价,试试“在线客服