loadImage : function (url, dataObj, callback, errorCallback) {
var self = this;
var img = new Image(); //创建一个Image对象,实现图片的预下载
img.src = url;
if(img.complete) { // 如果图片已经存在于浏览器缓存,直接调用回调函数
callback.call(img,dataObj);
return; // 直接返回,不用再处理onload事件
}
img.onload = function () { //图片下载完毕时异步调用callback函数。
callback.call(img,dataObj);//将回调函数的this替换为Image对象
};
if(typeof errorCallback === 'function'){
img.onerror = function () {
errorCallback.call(img,dataObj);
};
}
}
function loadScript(url, callback){
  var script = document.createElement ("script")
  script.type = "text/javascript";
  if (script.readyState){ //IE
    script.onreadystatechange = function(){
      if (script.readyState == "loaded" || script.readyState == "complete"){
        script.onreadystatechange = null;
        callback();
      }
    };
  } else { //Others
    script.onload = function(){
      callback();
    };
  }
    script.src = url;
    document.getElementsByTagName_r("head")[0].appendChild(script);//即插即执行
}

你可以在页面中动态加载很多JavaScript 文件,但要注意,浏览器不保证文件加载的顺序(修正:加载应该是异步同时加载,执行顺序是不确定的,很可能谁先加载完,先执行谁。)。所有主流浏
览器之中,只有Firefox 和Opera 保证脚本按照你指定的顺序执行。其他浏览器将按照服务器返回它们的次
序下载并运行不同的代码文件。你可以将下载操作串联在一起以保证他们的次序,如下:

loadScript("file1.js", function(){
loadScript("file2.js", function(){
loadScript("file3.js", function(){
alert("All files are loaded!");
});
});
});

javascript 动态加载按顺序加载运行 js

最新文章

  1. Jquery自定义插件之$.extend()、$.fn和$.fn.extend()
  2. pb将datawindow数据导出EXCEL
  3. Android-Lopper类的介绍(Handler背后的类)
  4. yum阿里云镜像源
  5. 移动Web与js定时器暂停或不准确计时的问题解决
  6. Java 线程池学习
  7. [006]为什么C++会被叫做是C++?
  8. mysqldump 备份原理8
  9. DEV中gridview常用属性的设置
  10. javsscript总结
  11. dedecms====phpcms 区别==[工作]
  12. bzoj1977次小生成树(重要)
  13. Android Service用法知识点的讲解
  14. Windows上使用Git管理文件
  15. js指定范围随机整数
  16. JSP—作用域
  17. mybatis逆向工程--自动生成实体代码(mybatis-generator)
  18. resin WED服务器初用遇到的问题和解决方法 java.lang.RuntimeException: java.net.SocketException: Unrecognized Windows Socke ts error: 0: JVM_Bind
  19. 使用自定义视图的AlertDialog
  20. PID控制算法的c语言实现十二 模糊PID的参数整定

热门文章

  1. 洛谷——P3128 [USACO15DEC]最大流Max Flow
  2. Storm新特性之Flux
  3. POS的一点杂笔
  4. Nginx和Nginx+的比較(下)
  5. POJ3171 Cleaning Shifts DP,区间覆盖最值
  6. 11、V4L2摄像头获取单幅图片测试程序
  7. 在此页上的 ActiveX 控件和本页上的其它部份的交互可能不安全
  8. VS2010制作dll
  9. win32 ag + xargs
  10. Spring的任务调度@Scheduled注解——task:scheduler和task:executor的解析