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替换字符串(实例代码)
Nov 13 Javascript
一个简单的JS时间控件示例代码(JS时分秒时间控件)
Nov 22 Javascript
JQuery球队选择实例
May 18 Javascript
jQuery实现文本展开收缩特效
Jun 03 Javascript
老生常谈遮罩层 滚动条的问题
Apr 29 Javascript
巧用数组制作图片切换js代码
Nov 29 Javascript
关于vue.js组件数据流的问题
Jul 26 Javascript
JS使用tofixed与round处理数据四舍五入的区别
Oct 25 Javascript
基于百度地图api清除指定覆盖物(Overlay)的方法
Jan 26 Javascript
详解Vue.js iview实现树形权限表(可扩展表)
Sep 30 Javascript
es6 symbol的实现方法示例
Apr 02 Javascript
微信小程序picker组件两列关联使用方式
Oct 27 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将数据导入到Foxmail
2006/10/09 PHP
Php Cookie的一个使用注意点
2008/11/08 PHP
php判断类是否存在函数class_exists用法分析
2014/11/14 PHP
Laravel SQL语句记录方式(推荐)
2016/05/26 PHP
PHP PDOStatement::bindValue讲解
2019/01/30 PHP
用js实现预览待上传的本地图片
2007/03/15 Javascript
javascript 隐藏/显示指定的区域附HTML元素【legend】用法
2010/03/05 Javascript
解决IE6的PNG透明JS插件使用介绍
2013/04/17 Javascript
jQuery动态添加、删除元素的方法
2014/01/09 Javascript
基于dropdown.js实现的两款美观大气的二级导航菜单
2015/09/02 Javascript
基于javascript html5实现多文件上传
2016/03/03 Javascript
js 函数式编程学习笔记
2017/03/25 Javascript
Vue验证码60秒倒计时功能简单实例代码
2018/06/22 Javascript
jquery实现搜索框功能实例详解
2018/07/23 jQuery
JS实现商城秒杀倒计时功能(动态设置秒杀时间)
2019/12/12 Javascript
TypeScript之调用栈的实现
2019/12/31 Javascript
[05:34]2014DOTA2国际邀请赛中国区预选赛精彩TOPPLAY第二弹
2014/06/25 DOTA
[55:42]VG vs VGJ.T 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
pyqt4教程之实现windows窗口小示例分享
2014/03/07 Python
python实现带声音的摩斯码翻译实现方法
2015/05/20 Python
python实现简单遗传算法
2018/03/19 Python
对pycharm代码整体左移和右移缩进快捷键的介绍
2018/07/16 Python
Python文件监听工具pyinotify与watchdog实例
2018/10/15 Python
python3.6数独问题的解决
2019/01/21 Python
Python3使用xml.dom.minidom和xml.etree模块儿解析xml文件封装函数的方法
2019/09/23 Python
Python3.5 win10环境下导入kera/tensorflow报错的解决方法
2019/12/19 Python
python自动化unittest yaml使用过程解析
2020/02/03 Python
python 实现rolling和apply函数的向下取值操作
2020/06/08 Python
快速了解Python开发环境Spyder
2020/06/29 Python
一款利用纯css3实现的win8加载动画的实例分析
2014/12/11 HTML / CSS
简单总结CSS3中视窗单位Viewport的常见用法
2016/02/04 HTML / CSS
Parfumdreams英国:香水和化妆品
2019/05/10 全球购物
药品采购员岗位职责
2014/02/08 职场文书
《灯光》教学反思
2014/02/08 职场文书
数控专业毕业生自荐信范文
2014/03/04 职场文书
环保志愿者活动总结
2014/06/27 职场文书