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 相关文章推荐
JavaScript中的其他对象
Jan 16 Javascript
JavaScript 三种创建对象的方法
Oct 16 Javascript
Javascript var变量隐式声明方法
Oct 19 Javascript
jquery easyui滚动条部分设置介绍
Sep 12 Javascript
js 将json字符串转换为json对象的方法解析
Nov 13 Javascript
jQuery+ajax读取并解析XML文件的方法
Sep 09 Javascript
JavaScript中利用Array filter() 方法压缩稀疏数组
Feb 24 Javascript
原生JS实现轮播图效果
Oct 12 Javascript
17道题让你彻底理解JS中的类型转换
Aug 08 Javascript
关于layui flow loading占位图的实现方法
Sep 21 Javascript
详解React 条件渲染
Jul 08 Javascript
vue中是怎样监听数组变化的
Oct 24 Javascript
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中使用file_get_contents抓取网页中文乱码问题解决方法
2014/12/17 PHP
php检查字符串中是否有外链的方法
2015/07/29 PHP
tp5 sum某个字段相加得到总数的例子
2019/10/18 PHP
javascript 伪数组实现方法
2010/10/11 Javascript
用jQuery模拟页面加载进度条的实现代码
2011/12/19 Javascript
js实现点击注册按钮开始读秒倒计时的小例子
2013/05/11 Javascript
window.showModalDialog参数传递中含有特殊字符的处理方法
2013/06/06 Javascript
jquery动画效果学习笔记(8种效果)
2015/11/13 Javascript
JS组件Bootstrap Table表格行拖拽效果实现代码
2020/08/27 Javascript
基于JS实现无缝滚动思路及代码分享
2016/06/07 Javascript
Jquery揭秘系列:ajax原生js实现详解(推荐)
2016/06/08 Javascript
bootstrap datetimepicker日期插件超详细使用方法介绍
2017/02/23 Javascript
jQuery实现简单的手风琴效果
2020/04/17 jQuery
Easy UI动态树点击文字实现展开关闭功能
2017/09/30 Javascript
在Mac下彻底卸载node和npm的方法
2018/05/16 Javascript
原生JS实现轮播图效果
2018/10/12 Javascript
js实现贪吃蛇小游戏
2019/10/29 Javascript
JsonServer安装及启动过程图解
2020/02/28 Javascript
vue移动端下拉刷新和上滑加载
2020/10/27 Javascript
利用Python脚本在Nginx和uwsgi上部署MoinMoin的教程
2015/05/05 Python
深入讲解Python函数中参数的使用及默认参数的陷阱
2016/03/13 Python
python3制作捧腹网段子页爬虫
2017/02/12 Python
Windows下安装python MySQLdb遇到的问题及解决方法
2017/03/16 Python
浅谈python脚本设置运行参数的方法
2018/12/03 Python
Python 调用PIL库失败的解决方法
2019/01/08 Python
Python 实现王者荣耀中的敏感词过滤示例
2019/01/21 Python
python对XML文件的操作实现代码
2020/03/27 Python
python学生管理系统的实现
2020/04/05 Python
一款基于css3麻将筛子3D翻转特效的实例教程
2014/12/31 HTML / CSS
Giglio英国站:意大利奢侈品购物网
2018/03/06 全球购物
理肤泉俄罗斯官网:La Roche-Posay俄罗斯
2018/07/24 全球购物
如何减少垃圾回收让内存更加有效使用
2013/10/18 面试题
舞蹈兴趣小组活动总结
2014/07/07 职场文书
检察机关个人对照检查材料
2014/09/15 职场文书
2015年酒店工作总结
2015/04/28 职场文书
创业项目(超低成本创业项目)
2019/08/16 职场文书