js下判断 iframe 是否加载完成的完美方法


Posted in Javascript onOctober 26, 2010

采用的方法很类似:

var iframe = document.createElement("iframe"); 
iframe.src = "https://3water.com"; if (!/*@cc_on!@*/0) { //if not IE 
iframe.onload = function(){ 
alert("Local iframe is now loaded."); 
}; 
} else { 
iframe.onreadystatechange = function(){ 
if (iframe.readyState == "complete"){ 
alert("Local iframe is now loaded."); 
} 
}; 
} 
document.body.appendChild(iframe);

最近, Nicholas C. Zakas 文章《Iframes, onload, and document.domain》的评论中 Christopher 提供了一个新的判断方法(很完美):
var iframe = document.createElement("iframe"); 
iframe.src = "http://sc.3water.com"; 
if (iframe.attachEvent){ 
iframe.attachEvent("onload", function(){ 
alert("Local iframe is now loaded."); 
}); 
} else { 
iframe.onload = function(){ 
alert("Local iframe is now loaded."); 
}; 
} 
document.body.appendChild(iframe);

几点补充说明:

IE 支持 iframe 的 onload 事件,不过是隐形的,需要通过 attachEvent 来注册。
第二种方法比第一种方法更完美,因为 readystatechange 事件相对于 load 事件有一些潜在的问题。

Javascript 相关文章推荐
jquery 构造函数在表单提交过程中修改数据
May 25 Javascript
JS中的二叉树遍历详解
Mar 18 Javascript
jquery实现拖动效果
Aug 10 Javascript
jQuery实现简洁的轮播图效果实例
Sep 07 Javascript
angular实现form验证实例代码
Jan 17 Javascript
jstree单选功能的实现方法
Jun 07 Javascript
Vue如何实现组件的源码解析
Jun 08 Javascript
浅谈 Vue v-model指令的实现原理
Jun 08 Javascript
JS封装的模仿qq右下角消息弹窗功能示例
Aug 22 Javascript
JS实现可视化文件上传
Sep 08 Javascript
layer ui插件显示tips时,修改字体颜色的实现方法
Sep 11 Javascript
jQuery实现朋友圈查看图片
Sep 11 jQuery
Javascript下判断是否为闰年的Datetime包
Oct 26 #Javascript
基于jquery的给文章加入关键字链接
Oct 26 #Javascript
EasyUi tabs的高度与宽度根据IE窗口的变化自适应代码
Oct 26 #Javascript
自写的一个jQuery圆角插件
Oct 26 #Javascript
jQuery获取地址栏参数插件(模仿C#)
Oct 26 #Javascript
自制轻量级仿jQuery.boxy对话框插件代码
Oct 26 #Javascript
jquery ui resizable bug解决方法
Oct 26 #Javascript
You might like
配置php网页显示各种语法错误
2013/09/23 PHP
使用PHP强制下载PDF文件示例
2014/01/17 PHP
PHP解析url并得到url参数方法总结
2018/10/11 PHP
基于jquery的弹出提示框始终处于窗口的居中位置(类似于alert弹出框的效果)
2011/09/28 Javascript
增强用户体验友好性之jquery easyui window 窗口关闭时的提示
2012/06/22 Javascript
javascript将数组插入到另一个数组中的代码
2013/01/10 Javascript
js实现鼠标滚轮控制图片缩放效果的方法
2015/02/20 Javascript
jquery实现点击label的同时触发文本框点击事件的方法
2015/06/05 Javascript
JS实现兼容性好,带缓冲的动感网页右键菜单效果
2015/09/18 Javascript
基于javascript代码实现通过点击图片显示原图片
2015/11/29 Javascript
jQuery.form插件的使用及跨域异步上传文件
2016/04/27 Javascript
JavaScript希尔排序、快速排序、归并排序算法
2016/05/08 Javascript
javascript中Date对象的使用总结
2016/11/21 Javascript
不得不看之JavaScript构造函数及new运算符
2017/08/21 Javascript
浅谈node模块与npm包管理工具
2018/01/03 Javascript
Vue2.0实现组件数据的双向绑定问题
2018/03/06 Javascript
详解js跨域请求的两种方式,支持post请求
2018/05/05 Javascript
jquery中attr、prop、data区别与用法分析
2019/09/25 jQuery
vue组件入门知识全梳理
2020/09/21 Javascript
python选择排序算法实例总结
2015/07/01 Python
Python使用迭代器捕获Generator返回值的方法
2017/04/05 Python
批量将ppt转换为pdf的Python代码 只要27行!
2018/02/26 Python
Python 使用指定的网卡发送HTTP请求的实例
2019/08/21 Python
解决Python logging模块无法正常输出日志的问题
2020/02/21 Python
Python yield生成器和return对比代码实例
2020/04/20 Python
python爬取天气数据的实例详解
2020/11/20 Python
Python3 用matplotlib绘制sigmoid函数的案例
2020/12/11 Python
澳大利亚最大的女装零售商:Millers
2017/09/10 全球购物
美国Jeep配件购物网站:Morris 4×4 Center
2019/05/01 全球购物
办公室人员先进事迹
2014/01/27 职场文书
感恩寄语大全
2014/04/11 职场文书
2014年银行个人工作总结
2014/12/05 职场文书
世界水日宣传活动总结
2015/02/09 职场文书
2015年会计个人工作总结
2015/04/02 职场文书
体育部部长竞选稿
2015/11/21 职场文书
html5表单的required属性使用
2021/07/07 HTML / CSS