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


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 相关文章推荐
javascript 文档的编码问题解决
Mar 01 Javascript
js 模拟气泡屏保效果代码
Jul 10 Javascript
JavaScript版DateAdd和DateDiff函数代码
Mar 01 Javascript
网页打开自动最大化的js代码
Aug 22 Javascript
escape函数解决js中ajax传递中文出现乱码问题
Oct 30 Javascript
TypeError document.getElementById(...) is null错误原因
May 18 Javascript
javascript cookie基础应用之记录用户名的方法
Sep 20 Javascript
js本地图片预览实现代码
Oct 09 Javascript
react-router JS 控制路由跳转实例
Jun 15 Javascript
JavaScript+HTML5实现的日期比较功能示例
Jul 12 Javascript
微信小程序云开发如何使用npm安装依赖
May 18 Javascript
js使用文档就绪函数动态改变页面内容示例【innerHTML、innerText】
Nov 07 Javascript
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
php中常量DIRECTORY_SEPARATOR用法深入分析
2014/11/14 PHP
分享50个提高PHP执行效率的技巧
2015/12/26 PHP
[原创]PHP简单开启curl的方法(测试可行)
2016/01/11 PHP
一个简单的php MVC留言本实例代码(必看篇)
2016/09/22 PHP
php使用ftp远程上传文件类(完美解决主从文件同步问题的方法)
2016/09/23 PHP
php查找字符串中第一个非0的位置截取
2017/02/27 PHP
PHP多进程编程实例详解
2017/07/19 PHP
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
2019/09/03 PHP
如何将一个String和多个String值进行比较思路分析
2013/04/22 Javascript
JS 排序输出实现table行号自增前端动态生成的tr
2014/08/13 Javascript
jQuery实现感应鼠标动画效果自动伸长的输入框实例
2015/02/24 Javascript
nodejs中实现sleep功能实例
2015/03/24 NodeJs
用nodejs的实现原理和搭建服务器(动态)
2016/08/10 NodeJs
详解微信小程序回到顶部的两种方式
2019/05/09 Javascript
微信小程序开发之左右分栏效果的实例代码
2019/05/20 Javascript
Vue自定义指令结合阿里云OSS优化图片的实现方法
2019/11/12 Javascript
js、jquery实现列表模糊搜索功能过程解析
2020/03/27 jQuery
ant design中upload组件上传大文件,显示进度条进度的实例
2020/10/29 Javascript
Python中的字符串操作和编码Unicode详解
2017/01/18 Python
django传值给模板, 再用JS接收并进行操作的实例
2018/05/28 Python
python threading和multiprocessing模块基本用法实例分析
2019/07/25 Python
python把一个字符串切开的实例方法
2020/09/27 Python
Html5中localStorage存储JSON数据并读取JSON数据的实现方法
2017/02/13 HTML / CSS
全球虚拟主机商:HostGator
2017/02/06 全球购物
StudentUniverse英国:学生航班、酒店和旅游
2019/08/25 全球购物
高中生毕业自我鉴定
2013/10/10 职场文书
工程专业毕业生自荐信范文
2013/12/25 职场文书
大学校庆邀请函
2014/01/11 职场文书
水电工岗位职责
2014/02/12 职场文书
法制宣传标语
2014/06/23 职场文书
2014年安全生产目标责任书
2014/07/23 职场文书
司法局群众路线教育实践活动整改措施
2014/09/17 职场文书
老公写给老婆的检讨书
2015/05/06 职场文书
萤火虫之墓观后感
2015/06/05 职场文书
2016五一劳动节慰问信
2015/11/30 职场文书
Redis模仿手机验证码发送的实现示例
2021/11/02 Redis