iframe自动适应高度
来源:互联网 发布:飞天特效软件下载 编辑:程序博客网 时间:2024/05/21 12:08
iframe 自动适应高度
最近在做一个web后台管理的项目,本来打算采用传统的frameset和frame来完成frame的建设。但是发现html5中已经不再推荐使用这两个tag了。同时,为了更加的轻量级,没有采用像extjs这类的js框架。所以只能使用iframe了。
我的web页面里面呢包含有四个部分的iframe:header;menu;content;footer。其中header,menu,footer都是纯静态的页面。content是动态的,页面加载的时候会有一些后台ajax的请求然后创建页面内容。
看了网上的一些前辈的介绍,如何让iframe自动适应子窗口的高度。基本上也有一些效果的。具体说来就是针对纯静态页面的解决效果很好。但是遇到动态的页面就显得有点问题了。
我的方案:先看看代码吧:
<body> <div id="header"> <iframe src="header.html"></iframe> </div> <div id="main"> <div id="nav"> <iframe src="nav.html"></iframe> </div> <div id="content"> <iframe src="home.html" name="contentFrame" id="contentFrame"></iframe> </div> </div> <div id="footer"> <iframe src="footer.html"></iframe> </div><script type="text/javascript"> function setHeight() { var sets = document.getElementsByTagName('iframe'); for (i = 0; i < sets.length; i++) { sets[i].onload = function() { this.height = this.contentDocument.body.scrollHeight; }; } } setHeight();</script></body>
关键就在于js的位置了。网上有一种解决办法,是把js放在head里面。然后给body加上事件:
<body onload="setHeight()">因为我的content里面有ajax的代码:
$(document).ready(function( $.ajax(...);));ajax的返回处理代码是给body里面添加新的table数据。这样的话,body的scrollHeight属性就变了。
当我采用在body里面添加事件来解决的时候,发现并不是很好解决。
但是当我把js放到了body的最尾部的时候。惊奇的发现问题被解决了。
总结:经过多次的尝试,总算是找到了一个我认为合适的解决办法。
问题:第一次加载页面的时候还是挺管用的。但是当页面中再次发生ajax请求需求刷新局部数据的时候,这个时候的高度又不能动了。现在还在努力探讨中,如果有哪位高手知道的话,还望指点一二。
0 0
- iframe高度自动适应
- iframe自动适应高度
- iframe 高度自动适应
- Iframe自动适应高度
- iframe高度自动适应
- IFRAME 自动适应高度
- Iframe自动适应高度
- iframe自动适应高度
- iframe自动适应高度
- iframe 自动适应高度
- iframe 自动适应高度
- iframe高度自动适应
- iframe高度自动适应
- iframe 自动适应高度
- iframe自动适应高度
- 用iframe自动适应高度
- iframe高度自动适应代码
- iframe 自动适应页面高度
- android 中多个线程处理完成触发一个事件如何设计
- Codeforces Round #234 (Div. 2)
- Confluence 空间列表(Spaces List)宏
- 查询Oracle数据库中的表和视图的方法
- Motorola Solution
- iframe自动适应高度
- hdu 2113 很容易就PE的问题
- 再谈python中的多态
- PHP判断中文字符串的长度和字节长度
- ETC 纹理压缩和 Alpha 通道处理
- 进程调度相关
- codeforces 400C - Inna and Huge Candy Matrix(耐心找规律,细节还是要注意的)
- 让div透明化各种浏览器兼容语言
- 商品项目流程分析