关于iframe问题
来源:互联网 发布:上证历史交易数据 编辑:程序博客网 时间:2024/05/17 23:36
今天在一个项目中迫不得已要用到iframe,针对它显示碰到了很多头疼的问题,也找了不少资料,网上说的也都很全,不过个人为了方便个人记忆也为了今后的翻阅整理下。其实好久没写博客了今天随便过过手瘾吧呵呵!
项目架构描述:
这个项目由于是其他合作伙伴架构的,他们把每个弹出层都是以一个单独的页面做好呈现,现在需要将这每个单独页面都作为弹出层在主页展示,同时触发弹出层的区域为area热点区域!
碰到的问题:
一、iframe自适应高度取值延时,其所取值均为上次iframe加载的内容高度;
二、iframe加载内容在IE6中空白不显示;
解决思路及方案:
一、对于iframe自适应,我们一般最常做的方法就是取“window.frames[0].document.body.scrollHeight”的固定高度然后赋值给iframe,之所以会出现延时是因为内容加载过程中,内容加载完毕了,高度获取的却仅仅只是最初的一次值然后赋值完毕,所以会出现高度加载一半之类的问题,对于这类问题很多人用的是定时器,我的做法是直接去取iframe的onload事件来重置高度,不过对于iframe的onload在IE中它却不怎么肯承认,这个时候只需要用attachEvent给它注册个就好了(其实这些方法网上有很多例子)具体如下:
项目架构描述:
这个项目由于是其他合作伙伴架构的,他们把每个弹出层都是以一个单独的页面做好呈现,现在需要将这每个单独页面都作为弹出层在主页展示,同时触发弹出层的区域为area热点区域!
碰到的问题:
一、iframe自适应高度取值延时,其所取值均为上次iframe加载的内容高度;
二、iframe加载内容在IE6中空白不显示;
解决思路及方案:
一、对于iframe自适应,我们一般最常做的方法就是取“window.frames[0].document.body.scrollHeight”的固定高度然后赋值给iframe,之所以会出现延时是因为内容加载过程中,内容加载完毕了,高度获取的却仅仅只是最初的一次值然后赋值完毕,所以会出现高度加载一半之类的问题,对于这类问题很多人用的是定时器,我的做法是直接去取iframe的onload事件来重置高度,不过对于iframe的onload在IE中它却不怎么肯承认,这个时候只需要用attachEvent给它注册个就好了(其实这些方法网上有很多例子)具体如下:
//autoHeight function autoH(){ newFrame.style.height = window.frames[0].document.body.scrollHeight + 'px'; } if(newFrame.attachEvent){ newFrame.attachEvent("onload",autoH); }else{ newFrame.onload = function(){ autoH() } }
PS:对于此问题还有两点要注意下,第一个是就是iframe的src传值的缓存问题,对于此问题,我们只需要在传值时添加时间产参数即可,如:newFrame.src = "pop" + (s+1) + ".html?=v"+new Date().getTime();当然这里碰到这样问题的几率很小不过个人建议加上参,第二个要注意的就是这里的iframe最后都去动态的create。
二、iframe加载了src后在IE6中一片空白的基本上都是a链接引起来的,因此只需要在a的onclick后return false即可,因为a的onclick中事件处理函数中没有返回false,来阻止浏览器转到href所指向的地址,而造成的页面加载其他页面或者 ajax请求 被abort(忽略)掉而引起的。
PS:对于此问题大家一定要注意了a本身就是用来做链接跳转的不要过分的拿过来做onclick事件,当然有些特殊情况如果做的话一定记得要return false!这个问题多亏了blueidea的帮助,有兴趣的可以看下原文去:http://bbs.blueidea.com/thread-3011637-1-1.html
- 关于iframe问题
- 关于iframe跨域传值问题
- 关于iframe自适应高度问题
- 关于iframe中取值的问题,取得iframe中的值
- 关于js控制 iframe 自动伸缩问题
- 关于js控制 iframe 自动伸缩问题
- 关于iframe的自适应高度问题
- 关于Iframe无法加载的问题
- [分享] 关于 iframe 内存泄漏问题
- 关于iframe内存泄露的问题
- 关于iframe折叠式框架的问题
- 关于iframe节点初始化的问题
- 关于iframe高度自适应的问题
- 关于获取iframe高度不准的问题
- 关于 iframe session登录超时 嵌套问题
- 关于iframe高度自适应的问题
- 关于iframe
- 关于iframe
- "链路速率越大,只代表其编码速度越快,而不代表传输速度越快,传输速度是固定的,都是光速。"???
- 由JavaScript中call()方法引发的对面向对象继承机制call的思考
- 11款用于优化、分析源代码的Java工具
- DataGrid透明显示背景图片,及表头透明
- 80040154错误
- 关于iframe问题
- 个人常用的JavaScript记录
- 高边和低边电流检测技术分析
- 在win7 64bit + vs2008 + sdk v7.0的环境下编译Detours
- java创建对象实例的三种方法
- 在2003服务器上预览时出现:您未被授权查看该页 您不具备使用所提供的凭据查看该目录或页的权限
- 解决Eclipse编码问题导致乱码问题的插件
- Flex/Flash 程序技巧, 界面效果、特效
- 清理Word生成HTML的冗余;清理与清除HTML标签