判断脚本加载是否完成的方法


Posted in Javascript onMay 26, 2009

我们可以对加载的 JS 对象使用 onload 来判断(js.onload),此方法 Firefox2、Firefox3、Safari3.1+、Opera9.6+ 浏览器都能很好的支持,但 IE6、IE7 却不支持。曲线救国 —— IE6、IE7 我们可以使用 js.onreadystatechange 来跟踪每个状态变化的情况(一般为 loading 、loaded、interactive、complete),当返回状态为 loaded 或 complete 时,则表示加载完成,返回回调函数。

对于 readyState 状态需要一个补充说明:
1.在 interactive 状态下,用户可以参与互动。
2.Opera 其实也支持 js.onreadystatechange,但他的状态和 IE 的有很大差别。

具体实现代码如下:

function include_js(file) { 
var _doc = document.getElementsByTagName('head')[0]; 
var js = document.createElement('script'); 
js.setAttribute('type', 'text/javascript'); 
js.setAttribute('src', file); 
_doc.appendChild(js); if (!/*@cc_on!@*/0) { //if not IE 
//Firefox2、Firefox3、Safari3.1+、Opera9.6+ support js.onload 
js.onload = function () { 
alert('Firefox2、Firefox3、Safari3.1+、Opera9.6+ support js.onload'); 
} 
} else { 
//IE6、IE7 support js.onreadystatechange 
js.onreadystatechange = function () { 
if (js.readyState == 'loaded' || js.readyState == 'complete') { 
alert('IE6、IE7 support js.onreadystatechange'); 
} 
} 
} 
return false; 
} 
//execution function 
include_js('http://img.3water.com/jslib/jquery/jquery-1.3.2.min.js);
Javascript 相关文章推荐
用htc组件制作windows选项卡
Jan 13 Javascript
JavaScript 格式字符串的应用
Mar 29 Javascript
微信内置浏览器私有接口WeixinJSBridge介绍
May 25 Javascript
jquery实现滑屏大图定时收缩为小banner图片的广告代码
Sep 02 Javascript
一个php+js实时显示时间问题
Oct 12 Javascript
对象题目的一个坑 理解Javascript对象
Dec 22 Javascript
javascript原型继承工作原理和实例详解
Apr 07 Javascript
基于zepto.js简单实现上传图片
Jun 21 Javascript
JS简单获取及显示当前时间的方法
Aug 03 Javascript
同步文本框内容JS代码实现
Aug 04 Javascript
jQuery无刷新上传之uploadify简单代码
Jan 17 Javascript
基于JQuery和DWR实现异步数据传递
Oct 16 jQuery
javascript 复杂的嵌套环境中输出单引号和双引号
May 26 #Javascript
Javascript Select操作大集合
May 26 #Javascript
让GoogleCode的SVN下的HTML文件在FireFox下正常显示.
May 25 #Javascript
JavaScript constructor和instanceof,JSOO中的一对欢喜冤家
May 25 #Javascript
jQuery 图像裁剪插件Jcrop的简单使用
May 22 #Javascript
document.compatMode介绍
May 21 #Javascript
各种常用浏览器getBoundingClientRect的解析
May 21 #Javascript
You might like
星际中一些鲜为人知的详细资料
2020/03/04 星际争霸
Windows下部署Apache+PHP+MySQL运行环境实战
2012/08/31 PHP
php+mysql查询优化简单实例
2015/01/13 PHP
php查询内存信息操作示例
2019/05/09 PHP
Add Formatted Data to a Spreadsheet
2007/06/12 Javascript
由Javascript实现的页面日历
2011/11/04 Javascript
JS根据变量保存方法名并执行方法示例
2014/04/04 Javascript
js制作简易年历完整实例
2015/01/28 Javascript
JavaScript中通过提示框跳转页面的方法
2016/02/14 Javascript
jQuery webuploader分片上传大文件
2016/11/07 Javascript
详解Vue 非父子组件通信方法(非Vuex)
2017/05/24 Javascript
JS面向对象的程序设计相关知识小结
2018/05/26 Javascript
有趣的JavaScript隐式类型转换操作实例分析
2020/05/02 Javascript
js通过canvas生成图片缩略图
2020/10/02 Javascript
[06:36]吞吞映像top1
2014/06/20 DOTA
[04:42]2015国际邀请赛CDEC战队晋级之路
2015/08/13 DOTA
Python二维码生成库qrcode安装和使用示例
2014/12/16 Python
python中的__slots__使用示例
2015/02/26 Python
python MySQLdb Windows下安装教程及问题解决方法
2015/05/09 Python
Django发送html邮件的方法
2015/05/26 Python
Python使用Selenium爬取淘宝异步加载的数据方法
2018/12/17 Python
详解Django项目中模板标签及模板的继承与引用(网站中快速布置广告)
2019/03/27 Python
Python安装与基本数据类型教程详解
2019/05/29 Python
Python从文件中读取数据的方法步骤
2020/11/18 Python
Vertbaudet西班牙网上商店:婴儿服装、童装、母婴用品和儿童家具
2019/10/16 全球购物
将一个数的从第5位开始的7个数取出,其余位置0
2016/05/26 面试题
长辈证婚人证婚词
2014/01/09 职场文书
师德建设实施方案
2014/03/21 职场文书
意向协议书范本
2014/04/23 职场文书
酒店节能减排方案
2014/05/26 职场文书
商品陈列协议书
2014/09/29 职场文书
考试没考好检讨书
2015/05/06 职场文书
2016国培学习心得体会
2016/01/08 职场文书
python 如何在 Matplotlib 中绘制垂直线
2021/04/02 Python
漫画「日和酱的要求是绝对的」第3卷封面公开
2022/03/21 日漫
Java异常体系非正常停止和分类
2022/06/14 Java/Android