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


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 相关文章推荐
JSON语法五大要素图文介绍
Dec 04 Javascript
js正文内容高亮效果的实现方法
Jun 30 Javascript
jQuery通过控制节点实现仅在前台通过get方法完成参数传递
Feb 02 Javascript
JavaScript中的函数声明和函数表达式区别浅析
Mar 27 Javascript
jQuery unbind 删除绑定事件详解
May 24 Javascript
jquery注册文本框获取焦点清空,失去焦点赋值的简单实例
Sep 08 Javascript
Jquery与Bootstrap实现后台管理页面增删改查功能示例
Jan 22 Javascript
JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】
Apr 24 Javascript
underscore之Chaining_动力节点Java学院整理
Jul 10 Javascript
关于js中的鼠标事件总结
Jul 11 Javascript
bootstrap multiselect下拉列表功能
Aug 22 Javascript
three.js着色器材质的内置变量示例详解
Aug 16 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作的文本留言本的例子(一)
2006/10/09 PHP
Discuz 5.0 中读取纯真IP数据库函数分析
2007/03/16 PHP
PHP扩展编写点滴 技巧收集
2010/03/09 PHP
用php来改写404错误页让你的页面更友好
2013/01/24 PHP
CodeIgniter中使用cookie的三种方式详解
2014/07/18 PHP
PHP获取一个字符串中间一部分字符的方法
2014/08/19 PHP
php实现购物车功能(以大苹果购物网为例)
2017/03/09 PHP
PHP实现的支付宝支付功能示例
2019/03/26 PHP
msn上的tab功能Firefox对childNodes处理的一个BUG
2008/01/21 Javascript
JSDoc 介绍使用规范JsDoc的使用介绍
2011/02/12 Javascript
JavaScript中去掉数组中的重复值的实现方法
2011/08/03 Javascript
js 绑定键盘鼠标事件示例代码
2014/02/12 Javascript
jQuery封装的tab选项卡插件分享
2015/06/16 Javascript
详解网站中图片日常使用以及优化手法
2017/01/09 Javascript
vue实现添加标签demo示例代码
2017/01/21 Javascript
JS Select下拉框(支持输入模糊查询)
2017/02/04 Javascript
在vue-cli搭建的项目中增加后台mock接口的方法
2018/04/26 Javascript
jQuery实现上下滚动公告栏详细代码
2018/11/21 jQuery
微信小程序访问豆瓣电影api的实现方法
2019/03/31 Javascript
在vue中封装的弹窗组件使用队列模式实现方法
2020/07/23 Javascript
使用TS来编写express服务器的方法步骤
2020/10/29 Javascript
简单介绍Python下自己编写web框架的一些要点
2015/04/29 Python
用Python计算三角函数之acos()方法的使用
2015/05/15 Python
python实战串口助手_解决8串口多个发送的问题
2019/06/12 Python
python list转置和前后反转的例子
2019/08/26 Python
wxPython电子表格功能wx.grid实例教程
2019/11/19 Python
python selenium自动化测试框架搭建的方法步骤
2020/06/14 Python
Chantelle仙黛尔内衣美国官网:法国第一品牌内衣
2018/07/26 全球购物
运动鞋、街头服装、手表和手袋的实时市场:StockX
2020/11/25 全球购物
红领巾广播站广播稿
2014/02/01 职场文书
《与朱元思书》的教学反思
2014/04/17 职场文书
受伤赔偿协议书
2014/09/24 职场文书
2014年无财产无子女离婚协议书范本
2014/10/09 职场文书
详解Java ES多节点任务的高效分发与收集实现
2021/06/30 Java/Android
Python实现猜拳与猜数字游戏的方法详解
2022/04/06 Python
mysql数据库如何转移到oracle
2022/12/24 MySQL