zoukankan      html  css  js  c++  java
  • 图片及js的预加载

    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

  • 相关阅读:
    JS 变量的作用域
    清理网站缓存的几种方法
    C# 将程序添加到启动项 (写入注册表),及从启动项中删除
    EasyUI iconCls
    JQuery Easy Ui dataGrid 数据表格
    datatable转换为json
    Web window.print() 打印
    用js使得输入框input只能输入数字
    隐藏或删除指定的html元素
    使用Asponse.Cell解决Excel科学计数法问题
  • 原文地址:https://www.cnblogs.com/darr/p/5049040.html
Copyright © 2011-2022 走看看