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 相关文章推荐
js 获取、清空input type="file"的值示例代码
Feb 19 Javascript
元素绑定click点击事件方法
Jun 08 Javascript
jquery插件ajaxupload实现文件上传操作
Dec 09 Javascript
[原创]Javascript 实现广告后加载 可加载百度谷歌联盟广告
May 11 Javascript
js不间断滚动的简单实现
Jun 03 Javascript
js中的关联数组与普通数组详解
Jul 27 Javascript
Jquery组件easyUi实现手风琴(折叠面板)示例
Aug 23 Javascript
JS获取鼠标相对位置的方法
Sep 20 Javascript
JS条形码(一维码)插件JsBarcode用法详解【编码类型、参数、属性】
Apr 19 Javascript
JS图片延迟加载插件LazyImgv1.0用法分析【附demo源码下载】
Sep 04 Javascript
详解写好JS条件语句的5条守则
Feb 28 Javascript
JS实现打字游戏
Dec 17 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中SQL注入攻击与XSS攻击
2012/06/10 PHP
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
2014/08/20 PHP
PHP简单读取PDF页数的实现方法
2016/07/21 PHP
使用YII2框架实现微信公众号中表单提交功能
2017/09/04 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
2017/11/14 PHP
浅析PHP echo 和 print 语句
2020/06/30 PHP
javascript prototype,executing,context,closure
2008/12/24 Javascript
基于Jquery的温度计动画效果
2010/06/18 Javascript
关于JAVASCRIPT urldecode URL解码的问题
2012/01/08 Javascript
jQuery 获取和设置select下拉框的值实现代码
2013/11/08 Javascript
jQuery序列化表单成对象的简单实现
2016/11/29 Javascript
JS实现的ajax和同源策略(实例讲解)
2017/12/01 Javascript
nodejs中实现修改用户路由功能
2019/05/24 NodeJs
JS开发常用工具函数(小结)
2019/07/04 Javascript
axios解决高并发的方法:axios.all()与axios.spread()的操作
2020/11/09 Javascript
Python爬虫框架Scrapy安装使用步骤
2014/04/01 Python
谈谈Python进行验证码识别的一些想法
2016/01/25 Python
Django日志模块logging的配置详解
2017/02/14 Python
python操作列表的函数使用代码详解
2017/12/28 Python
简述Python2与Python3的不同点
2018/01/21 Python
Python pyinotify模块实现对文档的实时监控功能方法
2018/10/13 Python
windows下 兼容Python2和Python3的解决方法
2018/12/05 Python
详解Python连接MySQL数据库的多种方式
2019/04/16 Python
python正则表达式匹配IP代码实例
2019/12/28 Python
PyPDF2读取PDF文件内容保存到本地TXT实例
2020/05/12 Python
Pytorch1.5.1版本安装的方法步骤
2020/12/31 Python
利用css3实现的简单的鼠标悬停按钮
2014/11/04 HTML / CSS
Fox Racing官方网站:越野摩托车和山地自行车装备和服装
2019/12/23 全球购物
自1926年以来就为冰岛保持温暖:66°North
2020/11/27 全球购物
园林毕业生自我鉴定范文
2013/12/29 职场文书
生物制药专业求职信
2014/03/11 职场文书
交通工程专业推荐信
2014/09/06 职场文书
离婚协议书范文2015
2015/01/26 职场文书
2015年春训学习心得体会范文
2015/03/09 职场文书
HTML5中 rem适配方案与 viewport 适配问题详解
2021/04/27 HTML / CSS
一次SQL查询优化原理分析(900W+数据从17s到300ms)
2022/06/10 SQL Server