今天弄iframe动态自适应高度遇到了点问题,就是在iframe里面发表文章后显示内容不会改变高度,而使用iframe的目的是为了和父页面解藕,可以给任意的页面调用,iframe里面的内容当成独立模块组件化来出来的,所以对父页面不能有任何假设。
自适应高度是在父页面加载的时候设置的,第一次加载或者发表后刷新都没有问题,关键是如何在iframe页面内容变化的时候更新高度呢?
第一个思路:在父页面做个定时器,感觉不是很好,效率低是肯定的,而且加定时器无疑多了冗余代码,一般情况下iframe里面的内容是不会变化的,为了少数人的效果牺牲多数人的性能是让人非常难以容忍的设计。
第二个思路:在iframe页面内容变化之前通知父页面,让父页面触发setTimeout事件,在大概200ms后执行自适应高度函数。
这个思路又回到了耦合的问题上了,对父页面就有了假设了,而且每次都调用父页面的方法也很麻烦。
最后,竟然把最简单的方法给忘记了,iframe自己的onload事件,当iframe内容变化的时候(提交表单,src变化)都会触发这个事件,那么用这个事件来触发父页面的自适应高度函数问题不就都解决了?
最后分享下代码:
<iframe id="discussion_hot" src="${base}/other/discussion_hot.action" onload="coos.iframe.autoHeight(coos.$id('discussion_hot'));" width="100%" frameborder="0" marginheight="0" marginwidth="0" scrolling="no"></iframe>
coos.iframe = {
autoHeight : function(obj)
{
var id = obj.id;
var subWeb = document.frames ? document.frames[id].document : obj.contentDocument;
if(obj != null &iframe动态自适应高度 & subWeb != null)
{
obj.height = subWeb.body.scrollHeight;
}
}
}
分享到:
相关推荐
iframe 跨域 自适应高度 模板 iframe 跨域 自适应高度 模板 iframe 跨域 自适应高度 模板
iframe 自适应高度iframe 自适应高度iframe 自适应高度iframe 自适应高度iframe 自适应高度iframe 自适应高度iframe 自适应高度iframe 自适应高度
iframe自适应高度和宽度
纯JS实现的iframe自适应高度。兼容主流浏览器。
Iframe自动根据类容改变自己的大小,解决Iframe设置高度后无法缩小!拜一个高人所赐,特表示感谢!
iframe自适应高度说明文档iframe自适应高度说明文档iframe自适应高度说明文档iframe自适应高度说明文档iframe自适应高度说明文档iframe自适应高度说明文档iframe自适应高度说明文档iframe自适应高度说明文档iframe...
iframe包含的页面的高度,兼容性好,iframe高度自适应
可以实现Iframe跨域自适应高度 main.htm和agent.htm文件放在www.a.com域内 iframe.htm放在www.b.com域内 这样就可以通过a.com域中的main.htm文件访问b.com域中的iframe.htm文件了
这个库允许的高度与同跨域iframe来适应他们所包含的内容的宽度自动调整大小。它最常见的问题与使用iframes提供一系列的功能,其中包括: 高度和宽度大小的iframe内容大小。 作品以多个嵌套的iframe。 跨域iframe域...
iframe根据引用的页面内容自适应高度和宽度,直接查看例子,简单易操作
jquery对iframe自适应高度插件是国外下载下来的。插件使用只要引用js文件就行,不用做任何别的操作完全自动化。
iframe高度自适应代码及演示页面。 适合新手,用到iframe,并且需要高度自适应的人士。 老手自动绕行,又没什么技术含量。。。 解压之后,打开iframe-auto.html之后查看效果. 如果不能查看,检查是否允许执行js
iframe自适应高度(兼容多种浏览器) 亲测可以
Iframe 高度自适应,js控制Iframe 高度自适应.docx
iframe高度自适应.pdf
主要介绍了js实现iframe自动自适应高度的方法,涉及javascript操作iframe框架的技巧,非常具有实用价值,需要的朋友可以参考下
多层嵌套iframe 自适应高度的解决方法
iframe跨域嵌套自适应高度 iframe跨域嵌套 丢失session值(针对嵌套asp.net 做的网站)
因为有一个项目要用到iframe自适应高度,网上搜索了以下结果无数,不过看来看去都是那几个,而且基本都测试了一遍,所说的兼容根本不是那么回事,要不IE不正常,要不其他浏览器显示不正常,最后无奈,综合网上的方法...
iframe_自适应高度(简单好用).txt