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

 更新时间:2009年05月26日 02:08:43   作者:  
在“按需加载”的需求中,我们经常会判断当脚本加载完成时,返回一个回调函数,那如何去判断脚本的加载完成呢?
我们可以对加载的 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.jb51.net/jslib/jquery/jquery-1.3.2.min.js);

相关文章

  • JS中的函数与对象的创建方式

    JS中的函数与对象的创建方式

    这篇文章主要介绍了JS中的函数与对象的创建方式,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • Bootstrap基本样式学习笔记之表格(2)

    Bootstrap基本样式学习笔记之表格(2)

    Bootstrap提供了一个清晰的创建表格的布局,这篇文章主要介绍了Bootstrap学习笔记之表格基本样式的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • jQuery 实现倒计时天,时,分,秒功能

    jQuery 实现倒计时天,时,分,秒功能

    本文通过html代码和js代码给大家介绍了实现倒计时天,时,分,秒功能,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2018-07-07
  • JavaScript canvas实现俄罗斯方块游戏

    JavaScript canvas实现俄罗斯方块游戏

    这篇文章主要为大家详细介绍了JavaScript canvas实现俄罗斯方块游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • javascript 操作Word和Excel的实现代码

    javascript 操作Word和Excel的实现代码

    javascript 操作Word和Excel的实现代码, 需要的朋友可以参考下。
    2009-10-10
  • JavaScript 代码压缩工具小结

    JavaScript 代码压缩工具小结

    为了使页面更快的完成加载,经常需要对javascript/css代码进行压缩以减小体积,这里简单列一下用过的压缩工具,同时也作为存档
    2012-02-02
  • 详解在HTTPS 项目中使用百度地图 API

    详解在HTTPS 项目中使用百度地图 API

    这篇文章主要介绍了在HTTPS 项目中使用百度地图 API,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • 微信小程序onShareTimeline()实现分享朋友圈

    微信小程序onShareTimeline()实现分享朋友圈

    这篇文章主要给大家介绍了关于微信小程序onShareTimeline()实现分享朋友圈的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Javascript基于OOP实实现探测器功能代码实例

    Javascript基于OOP实实现探测器功能代码实例

    这篇文章主要介绍了Javascript基于OOP实实现探测器功能代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • JS动态调用方法名示例介绍

    JS动态调用方法名示例介绍

    在JS中如何动态调用方法名,想必很多的朋友们都不会吧,下面为大家举例介绍下具体的调用方法
    2013-12-12

最新评论