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


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和CSS通过expression实现Table居中显示
Jun 28 Javascript
JQuery调用WebServices的方法和4个实例
May 06 Javascript
jquery实现九宫格大转盘抽奖
Nov 13 Javascript
JavaScript时间操作之年月日星期级联操作
Jan 15 Javascript
手机图片预览插件photoswipe.js使用总结
Aug 25 Javascript
Bootstrap实现圆角、圆形头像和响应式图片
Dec 14 Javascript
Angular2 父子组件通信方式的示例
Jan 29 Javascript
解决JavaScript中0.1+0.2不等于0.3问题
Oct 23 Javascript
JavaScript如何处理移动端拍摄图片旋转问题
Nov 16 Javascript
详解小程序BackgroundAudioManager踩坑之旅
Dec 08 Javascript
JavaScript事件概念详解(区分静态注册和动态注册)
Feb 05 Javascript
JavaScript分页组件使用方法详解
Jul 26 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编写发红包程序
2015/07/22 PHP
yii添删改查实例
2015/11/16 PHP
在PHP中实现使用Guzzle执行POST和GET请求
2019/10/15 PHP
风吟的小型JavaScirpt库 (FY.JS).
2010/03/09 Javascript
新鲜出炉的js tips提示效果
2011/04/03 Javascript
jQuery Pagination Ajax分页插件(分页切换时无刷新与延迟)中文翻译版
2013/01/11 Javascript
Egret引擎开发指南之运行项目
2014/09/03 Javascript
jQuery on方法传递参数示例
2014/12/09 Javascript
JavaScript编写推箱子游戏
2015/07/07 Javascript
url中的特殊符号有什么含义(推荐)
2016/06/17 Javascript
如何使用Vuex+Vue.js构建单页应用
2016/10/27 Javascript
Vue.js使用v-show和v-if的注意事项
2016/12/13 Javascript
angularjs实现简单的购物车功能
2017/09/21 Javascript
js统计页面上每个标签的数量实例代码
2018/05/29 Javascript
Vue瀑布流插件的使用示例
2018/09/19 Javascript
详解实现一个通用的“划词高亮”在线笔记功能
2019/04/23 Javascript
js实现贪吃蛇游戏 canvas绘制地图
2020/09/09 Javascript
python实现根据月份和日期得到星座的方法
2015/03/27 Python
详解Python读取配置文件模块ConfigParser
2017/05/11 Python
Python中字典和集合学习小结
2017/07/07 Python
pygame游戏之旅 调用按钮实现游戏开始功能
2018/11/21 Python
Python编写一个验证码图片数据标注GUI程序附源码
2019/12/09 Python
python和pywin32实现窗口查找、遍历和点击的示例代码
2020/04/01 Python
python多进程下的生产者和消费者模型
2020/05/07 Python
解决pycharm中的run和debug失效无法点击运行
2020/06/09 Python
python文件读取失败怎么处理
2020/06/23 Python
获取python运行输出的数据并解析存为dataFrame实例
2020/07/07 Python
Python基础教程(一)——Windows搭建开发Python开发环境
2020/07/20 Python
python 视频下载神器(you-get)的具体使用
2021/01/06 Python
J.Crew官网:美国知名休闲服装品牌
2017/05/19 全球购物
德国高端单身人士交友网站:ElitePartner
2018/12/02 全球购物
创建索引时需要注意的事项
2013/05/13 面试题
应聘护士自荐信
2013/10/21 职场文书
药学专业个人自我评价
2013/11/11 职场文书
python 定义函数 返回值只取其中一个的实现
2021/05/21 Python
Jmerte 分布式压测及分布式压测配置
2022/04/30 Java/Android