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


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 缩图函数 (onDOMLoaded)……
Oct 23 Javascript
js 编程笔记 无名函数
Jun 28 Javascript
给jQuery方法添加回调函数一款插件的应用
Jan 21 Javascript
js window.print实现打印特定控件或内容
Sep 16 Javascript
jQuery实现灰蓝风格标准二级下拉菜单效果代码
Aug 31 Javascript
基于jQuery实现点击弹出层实例代码
Jan 01 Javascript
js老生常谈之this,constructor ,prototype全面解析
Apr 05 Javascript
详解如何较好的使用js
Dec 16 Javascript
JS动画实现回调地狱promise的实例代码详解
Nov 08 Javascript
Vue插槽_特殊特性slot,slot-scope与指令v-slot说明
Sep 04 Javascript
openlayers实现地图弹窗
Sep 25 Javascript
vue element-ui中table合计指定列求和实例
Nov 02 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
超级实用的7个PHP代码片段分享
2012/01/05 PHP
php中3种方法统计字符串中每种字符的个数并排序
2012/08/27 PHP
注意:php5.4删除了session_unregister函数
2013/08/05 PHP
php求正负数数组中连续元素最大值示例
2014/04/11 PHP
php图片的二进制转换实现方法
2014/12/15 PHP
PHP AjaxForm提交图片上传并显示图片源码
2016/11/29 PHP
PHP执行普通shell命令流程解析
2020/08/24 PHP
基于mouseout和mouseover等类似事件的冒泡问题解决方法
2013/11/18 Javascript
Google (Local) Search API的简单使用介绍
2013/11/28 Javascript
javascript中Object使用详解
2015/01/26 Javascript
javascript笛卡尔积算法实现方法
2015/04/08 Javascript
如何根据百度地图计算出两地之间的驾驶距离(两种语言js和C#)
2015/10/29 Javascript
JQuery对ASP.NET MVC数据进行更新删除
2016/07/13 Javascript
Vue.js实现无限加载与分页功能开发
2016/11/03 Javascript
手把手带你封装一个vue component第三方库
2019/02/14 Javascript
Bootstrap 时间日历插件bootstrap-datetimepicker配置与应用小结
2019/05/28 Javascript
python判断给定的字符串是否是有效日期的方法
2015/05/13 Python
Python读取图片为16进制表示简单代码
2018/01/19 Python
Python爬取个人微信朋友信息操作示例
2018/08/03 Python
python flask框架实现重定向功能示例
2019/07/02 Python
python按比例随机切分数据的实现
2019/07/11 Python
Python爬虫之urllib基础用法教程
2019/10/12 Python
Python+OpenCV 实现图片无损旋转90°且无黑边
2019/12/12 Python
Python classmethod装饰器原理及用法解析
2020/10/17 Python
Python headers请求头如何实现快速添加
2020/11/03 Python
全球领先的各类汽车配件零售商:Advance Auto Parts
2016/08/26 全球购物
积极分子思想汇报
2014/01/04 职场文书
市场专员岗位职责
2014/02/14 职场文书
十八大演讲稿
2014/05/22 职场文书
微笑面对生活演讲稿
2014/09/23 职场文书
综合测评自我评价
2015/03/06 职场文书
材料员岗位职责范本
2015/04/11 职场文书
2015年幼儿园后勤工作总结
2015/04/25 职场文书
社区党员干部承诺书
2015/05/04 职场文书
政审证明材料
2015/06/19 职场文书
总经理年会致辞
2015/07/29 职场文书