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 HashTable
Jan 22 Javascript
YUI 读码日记之 YAHOO.util.Dom - Part.1
Mar 22 Javascript
来自国外的14个图片放大编辑的jQuery插件整理
Oct 20 Javascript
js 获取浏览器版本以此来调整CSS的样式
Jun 03 Javascript
ZeroClipboard插件实现多浏览器复制功能(支持firefox、chrome、ie6)
Aug 30 Javascript
jQuery插件animateSlide制作多点滑动幻灯片
Jun 11 Javascript
jquery实现图片放大镜功能
Nov 23 Javascript
AngularJs ng-change事件/指令的用法小结
Nov 01 Javascript
Vue中实现权限控制的方法示例
Jun 07 Javascript
使用JavaScrip模拟实现仿京东搜索框功能
Oct 16 Javascript
VUE实现Studio管理后台之鼠标拖放改变窗口大小
Mar 04 Javascript
0基础学习前端开发的一些建议
Jul 14 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
dede3.1分页文字采集过滤规则详说(图文教程)
2007/04/03 PHP
php在线生成ico文件的代码
2007/10/09 PHP
mysql5的sql文件导入到mysql4的方法
2008/10/19 PHP
PHP 创建标签云函数代码
2010/05/26 PHP
PHP面向对象学习笔记之一 基础概念
2012/10/06 PHP
PHP抓取、分析国内视频网站的视频信息工具类
2014/04/02 PHP
php读取csv文件并输出的方法
2015/03/14 PHP
PHP后台备份MySQL数据库的源码实例
2019/03/18 PHP
php经典趣味算法实例代码
2020/01/21 PHP
JS Array对象入门分析
2008/10/30 Javascript
JavaScript 异步调用框架 (Part 5 - 链式实现)
2009/08/04 Javascript
JS 表单验证大全
2011/11/23 Javascript
javascript数字格式化通用类 accounting.js使用
2012/08/24 Javascript
JavaScript DOM节点操作实例小结(新建,删除HTML元素)
2017/01/19 Javascript
完美解决浏览器跨域的几种方法(汇总)
2017/05/08 Javascript
详解从angular-cli:1.0.0-beta.28.3升级到@angular/cli:1.0.0
2017/05/22 Javascript
JS中的多态实例详解
2017/10/15 Javascript
微信小程序定位当前城市的方法
2018/07/19 Javascript
JS基础之逻辑结构与循环操作示例
2020/01/19 Javascript
Python可跨平台实现获取按键的方法
2015/03/05 Python
对于Python装饰器使用的一些建议
2015/06/03 Python
浅谈Python中的可变对象和不可变对象
2017/07/07 Python
对python中的乘法dot和对应分量相乘multiply详解
2018/11/14 Python
python+selenium 定位到元素,无法点击的解决方法
2019/01/30 Python
python3 实现的对象与json相互转换操作示例
2019/08/17 Python
Python连接Oracle之环境配置、实例代码及报错解决方法详解
2020/02/11 Python
解决 jupyter notebook 回车换两行问题
2020/04/15 Python
贪睡宠物用品:Snoozer Pet Products
2020/02/04 全球购物
Java和Javasciprt的区别
2012/09/02 面试题
班主任评语大全
2014/04/26 职场文书
技能比武方案
2014/05/21 职场文书
班主任高考寄语
2015/02/26 职场文书
庆七一活动简报
2015/07/20 职场文书
2016年感恩节活动总结大全
2016/04/01 职场文书
MySQL中VARCHAR与CHAR格式数据的区别
2021/05/26 MySQL
笔记本自带的win11如何跳过联网激活?
2022/04/20 数码科技