当前位置:首页 > JavaScript > 正文内容

JS判断脚本是否加载完成

canca17年前 (2008-12-02)JavaScript467
  1. 在“按需加载”的需求中,我们经常会判断当脚本加载完成时,返回一个回调函数,那如何去判断脚本的加载完成呢?

    我们可以对加载的 JS 对象使用 onload 来判断(js.onload),此方法 Firefox2、Firefox3、Safari3.1+、Opera9.6+ 浏览器都能很好的支持,但 IE6、IE7 却不支持。曲线救国 —— IE6、IE7 我们可以使用 js.onreadystatechange 来跟踪每个状态变化的情况(一般为 loading 、loaded、interactive、complete),当返回状态为 loaded 或 complete 时,则表示加载完成,返回回调函数。

    对于 readyState 状态需要一个补充说明:
    在 interactive 状态下,用户可以参与互动。
    Opera 其实也支持 js.onreadystatechange,但他的状态和 IE 的有很大差别。

    具体实现代码如下:

  2. function include_js(file) {   
  3.     var _doc = document.getElementsByTagName('head')[0];   
  4.     var js = document.createElement('script');   
  5.     js.setAttribute('type''text/javascript');   
  6.     js.setAttribute('src', file);   
  7.     _doc.appendChild(js);   
  8.   
  9.     if (!/*@cc_on!@*/0) { //if not IE   
  10.         //Firefox2、Firefox3、Safari3.1+、Opera9.6+ support js.onload   
  11.         js.onload = function () {   
  12.             alert('Firefox2、Firefox3、Safari3.1+、Opera9.6+ support js.onload');   
  13.         }   
  14.     } else {   
  15.         //IE6、IE7 support js.onreadystatechange   
  16.         js.onreadystatechange = function () {   
  17.             if (js.readyState == 'loaded' || js.readyState == 'complete') {   
  18.                 alert('IE6、IE7 support js.onreadystatechange');   
  19.             }   
  20.         }   
  21.     }   
  22.   
  23.     return false;   
  24. }   
  25.   
  26. //execution function   
  27. include_js('http://www.planabc.net/wp-includes/js/jquery/jquery.js');  


转自:http://www.52web.com/52article/?view-235.html

扫描二维码推送至手机访问。

版权声明:本文由Ant.Master's Blog发布,如需转载请注明出处。

本文链接:https://iant.work/post/346.html

标签: JavaScript
分享给朋友:

“JS判断脚本是否加载完成” 的相关文章

JavaScript 函数原型对象

    以下是一篇本人在Qzone里写下的文章,现在放到这里来,欠丑了。希望对一些初学者有一点点帮助。     今天给大家说说JavaScript中的类。类?没错。JavaScript中的函数原型对象就是OOP中人们熟悉的类。JS...

《Dom Scripting》读书笔记

  《Dom Scripting》读书笔记 Canca         最近看了一本《Jeremy Keith: DOM Scripting, Web design with JavaScript and the DOM. Apr...

javascript MailTo 邮件技巧

调用email的方法 //<a href="mailto:talantlee@126.com">Email</a>window.location.href="mailto:talantlee@126.com";myform.action="mailto:talant...

javascript 中面向对象編程 (类的继承)

// 人的基類var Person=new ( function(){  var sex;  var name;  this.getSex=function() &nbs...

javascript IE与FireFox 一些兼容写法

1>获取控件用document.getElementById,不用document.all(FF等浏览器不支持)2><button> 会被firefox解释为提交form或者刷新页面,需要写标准<button type="button">3>使用childN...

javascript 中面向对象编程 (类的构造)

javascript 中面向对象编程 (类的构造)

不論是用java,還是c#,又或是vb,構建一個對象都很簡單,都可以采用 classobj =new classobj()的方法構造一個類,然后使用其中的屬性以及方法,其實javascript也是一樣可以實現的。    示例:建立一個js文件,定義一個對象 E...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。