【HTML】iframe嵌套界面自适应,可高度自由收缩

最近在做网页时需要使iframe高度自适应,以提高用户体验,网上找了挺多都很复杂,最后找到了这个

HTML:

<div class="main_page">
     <iframe scrolling="no" id="main" name="main" frameborder="0"  src=""
        style="min-height:600px;width:100%;height:100%;"></iframe>
</div>

JS:

<script>
  // 计算页面的实际高度,iframe自适应会用到
  function calcPageHeight(doc) {
      var cHeight = Math.max(doc.body.clientHeight, doc.documentElement.clientHeight)
      var sHeight = Math.max(doc.body.scrollHeight, doc.documentElement.scrollHeight)
      var height  = Math.max(cHeight, sHeight)
      return height
  }
  //根据ID获取iframe对象
  var ifr = document.getElementById(‘main‘)
  ifr.onload = function() {
        //解决打开高度太高的页面后再打开高度较小页面滚动条不收缩
        ifr.style.height=‘0px‘;
      var iDoc = ifr.contentDocument || ifr.document
      var height = calcPageHeight(iDoc)
      if(height < 850){
          height = 850;
      }
      ifr.style.height = height + ‘px‘
  }
</script>
 

原文地址:https://www.cnblogs.com/HGNET/p/12234331.html

时间: 2024-10-07 15:57:40

【HTML】iframe嵌套界面自适应,可高度自由收缩的相关文章

jquery库实现iframe自适应内容高度和宽度

javascript原生和jquery库实现iframe自适应内容高度和宽度---推荐使用jQuery的代码! ‍<iframe src="index.php" id="mainiframe" name="mainiframe" width="100%"   frameborder="0" scrolling="no" marginwidth="0" margi

js自适应屏幕高度

//自适应屏幕高度 $(window).resize(function() { hightChange(); }); function hightChange(){ var h = document.documentElement.clientHeight-160; $("#i_con").height( h + 38);// iframe id }

【笔试】10、一球从100米高度自由落下,求相关数据

/** * 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高? * 时间:2015年7月28日15:34:18 * 文件:Lianxi10.java * 作者:cutter_point */ package bishi.zuixin50.t2015728; public class Lianxi10 { //这个是一个等比数列 public static double getAn(double begin, doubl

一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?

/** * 一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高? * */ public class Test2 { public static void main(String[] args) { double num = 100, sum = 0; for (int i = 0; i < 10; i++) { sum += num*2; num /= 2; } sum -= 100; System.out.println(

问题:一球从某高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第n次落地时,共经过多少米?第n次反弹多高?

import java.util.Scanner; //题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下,求它在第10次落地时,共经过多少米?第10次反弹多高? public class BallTest { public static void main(String[] args) { double firsthight; int n; Scanner in = new Scanner (System.in);//从键盘读取两个数据 System.out.println

如何同步iframe与嵌入内容的高度

最近频繁的做一些通过iframe在a页面嵌入b页面需求.总结下来,有以下问题需要解决 1.如何同步iframe与嵌入内容的高度 2.将b页面载入到a页面后,如何隐藏掉b页面上的元素,如左导航,顶部导航等等 -如何同步iframe与嵌入内容的高度 a)获取由iframe引入的页面高度 b)同步引入页面与iframe的高度 demo <iframe src="http://jsbin.com/nobefis" id="currentFrame" width=&qu

一个球从100m高度自由落下,第10次反弹多高

.一个球从100m高度自由落下,每次落地后反跳回原来高度的一半,再落下,再反弹.求它在第10次落地时,共经过多少米?第10次反弹多高   float h = 100;//初始高度//   //反弹高度//    float sum = 0;//走过的路程    //这是不知道谈几次的循环,所以应该考虑是不是需要用while循环    for (int i = 1; i < 11; i++) {           sum +=h +  h / 2;           h = h / 2 ;  

IOS嵌套界面下 -UIWebView加载网页显示不全(尺寸适应问题)

最近有个朋友碰到一个关于在嵌套界面下UIWebView加载网页显示不全的问题 咋一看这种问题太easy了.但是不要忽视其背后的真正黑手,现在拿百度首页做个实验(百度就是这点好)先贴上一小段核心代码: 显示效果: 看到没 显示不全.现在你会说快用大招: 解决它.可惜这招也不行. 原因分析:为什么会显示不全呢? 主要问题就出在前面说的关于在嵌套界面下. 可为什么在嵌套界面下就不行呢? 显示不全是个问题. 是的 是个问题而且是个显示界面尺寸不匹配的问题.可在主界面就这可以, 而且frame我都是用的s

防止网页被别站用 iframe嵌套

将下面的代码加到您的页面 <head></head> 位置即可: <script language="javascript"> <!-- if (top.location != location) { top.location.href = location.href; } //--> </script> //或 <script language="javascript"> if(self!=t