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


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 相关文章推荐
JS效率个人经验谈(8-15更新),加入range技巧
Jan 09 Javascript
用ADODB.Stream转换
Jan 22 Javascript
javascript对下拉列表框(select)的操作实例讲解
Nov 29 Javascript
jquery.cookie实现的客户端购物车操作实例
Dec 24 Javascript
node.js学习之base64编码解码
Oct 21 Javascript
axios学习教程全攻略
Mar 26 Javascript
详解VUE的状态控制与延时加载刷新
Mar 27 Javascript
微信小程序request出现400的问题解决办法
May 23 Javascript
详解使用VUE搭建后台管理系统(vue-cli更新至3.0)
Aug 22 Javascript
vue的注意规范之v-if 与 v-for 一起使用教程
Aug 04 Javascript
jQuery/JS监听input输入框值变化实例
Oct 17 jQuery
Nuxt的路由配置和参数传递方式
Nov 06 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通用检测函数集合
2011/02/08 PHP
php和js如何通过json互相传递数据相关问题探讨
2013/02/26 PHP
php实现微信公众号创建自定义菜单功能的实例代码
2019/06/11 PHP
Javascript学习笔记二 之 变量
2010/12/15 Javascript
Jquery同辈元素选中/未选中效果的实例代码
2013/08/01 Javascript
jQuery瀑布流插件Wookmark使用实例
2014/04/02 Javascript
分享2个jQuery插件--jquery.fileupload与artdialog
2014/12/26 Javascript
不定义JQuery插件 不要说会JQuery
2016/03/07 Javascript
AngularJS入门教程之Select(选择框)详解
2016/07/27 Javascript
总结十个Angular.js由浅入深的面试问题
2016/08/26 Javascript
JS中split()用法(将字符串按指定符号分割成数组)
2016/10/24 Javascript
微信小程序 122100版本更新问题解决方案
2016/12/22 Javascript
angular动态删除ng-repaeat添加的dom节点的方法
2017/07/20 Javascript
基于substring()和substr()的使用以及区别(实例讲解)
2017/12/28 Javascript
详解如何解决Vue和vue-template-compiler版本之间的问题
2018/09/17 Javascript
详解 微信小程序开发框架(MINA)
2019/05/17 Javascript
layui多图上传实现删除功能的例子
2019/09/23 Javascript
Nuxt.js 静态资源和打包的操作
2020/11/06 Javascript
[34:10]Secret vs VG 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.24
2019/09/10 DOTA
python检查URL是否正常访问的小技巧
2017/02/25 Python
Python : turtle色彩控制实例详解
2020/01/19 Python
celery在python爬虫中定时操作实例讲解
2020/11/27 Python
Python爬虫之Selenium下拉框处理的实现
2020/12/04 Python
Opencv 图片的OCR识别的实战示例
2021/03/02 Python
详解CSS3媒体查询响应式布局bootstrap 框架原理实战(推荐)
2020/11/16 HTML / CSS
澳大利亚领先的睡衣品牌:Peter Alexander
2016/08/16 全球购物
会计电算一体化个人简历的自我评价
2013/10/15 职场文书
汽车运用工程专业毕业生推荐信
2013/12/25 职场文书
《画》教学反思
2014/04/14 职场文书
出纳试用期自我鉴定范文
2014/09/16 职场文书
党的群众路线教育实践活动个人剖析材料
2014/10/07 职场文书
护士自我推荐信范文
2015/03/24 职场文书
催款通知书范文
2015/04/17 职场文书
导游词之白茶谷九龙峡
2019/10/23 职场文书
解决numpy和torch数据类型转化的问题
2021/05/23 Python
python热力图实现的完整实例
2022/06/25 Python