• <sub id="h4knl"><ol id="h4knl"></ol></sub>
    <sup id="h4knl"></sup>
      <sub id="h4knl"></sub>

      <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
      1. <strong id="h4knl"></strong>

      2. javascript寫的異步加載js文件函數

        時間:2024-09-28 21:52:48 JavaScript 我要投稿
        • 相關推薦

        javascript寫的異步加載js文件函數

          自己用的加載js文件,支持多文件,不兼容ie

          復制代碼 代碼如下:

          /**

          * 加載js文件

          * @param {string || array} url js路徑

          * @param {Function} fn 加載完成后回調

          * @return {object} game對象

          * @example

          * getScript("url.js",fn)

          * getScript(["url-1.js","url-2.js"],fn)

          */

          game.getScript = (function() {

          var cache = {};//內部緩存下url,下次則不請求

          return function(url, fn) {

          if ("string" === typeof(url)) {

          url = [url]; //如果不是數組帶個套

          };

          var i = 0,//循環起

          ok = 0,//加載成功幾個js

          len = url.length,//一共幾個js

          head = document.getElementsByTagName("head")[0],

          js, _url,

          create = function(url) {//創建js

          js = document.createElement("script");

          js.type = "text/javascript";

          js.src = url;

          head.appendChild(js);

          return js;

          };

          for (; i < len;) {

          if (cache[encodeURIComponent((_url = url[i++]))]) {//如果加載過

          (++ok >= len && fn) && fn();//如果加載完所有的js則執行回調

          continue;

          }

          cache[encodeURIComponent(_url)] = !0;//設置緩存

          js = create(_url);//創建js

          fn && (js.onload = function() {

          if (++ok >= len) {//如果加載完所有的js則執行回調

          fn();

          }

          });

          };

          head = js = _url = create = null;

          return this;

          }

          })();

        《&.doc》
        将本文的Word文档下载到电脑,方便收藏和打印
        推荐度:
        点击下载文档

        【javascript寫的異步加載js文件函數】相關文章:

        淺析jQuery 遍歷函數javascript08-06

        Javascript函數的定義和用法分析08-15

        JavaScript中push(),join() 函數實例詳解09-05

        最常用的20個javascript方法函數09-10

        JavaScript日期時間格式化函數08-29

        JS AJAX前臺如何給后臺類的函數傳遞參數的方法07-08

        JavaScript中常見的字符串操作函數及用法07-24

        有關javascript實現的多個層切換效果通用函數示例10-07

        JavaScript基于正則表達式數字判斷函數06-14

        Node.js如何響應Ajax的POST請求并且保存為JSON文件詳解05-22

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码
      3. <sub id="h4knl"><ol id="h4knl"></ol></sub>
        <sup id="h4knl"></sup>
          <sub id="h4knl"></sub>

          <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
          1. <strong id="h4knl"></strong>

          2. 亚洲欧美中文字幕在线一区91 | 亚洲一区亚洲二区视频 | 亚洲精品在线影院 | 色综合天天久久综合精品 | 亚洲中文字幕不卡一区二区三区 | 中文字幕久久免费福利片 |

            javascript寫的異步加載js文件函數

              自己用的加載js文件,支持多文件,不兼容ie

              復制代碼 代碼如下:

              /**

              * 加載js文件

              * @param {string || array} url js路徑

              * @param {Function} fn 加載完成后回調

              * @return {object} game對象

              * @example

              * getScript("url.js",fn)

              * getScript(["url-1.js","url-2.js"],fn)

              */

              game.getScript = (function() {

              var cache = {};//內部緩存下url,下次則不請求

              return function(url, fn) {

              if ("string" === typeof(url)) {

              url = [url]; //如果不是數組帶個套

              };

              var i = 0,//循環起

              ok = 0,//加載成功幾個js

              len = url.length,//一共幾個js

              head = document.getElementsByTagName("head")[0],

              js, _url,

              create = function(url) {//創建js

              js = document.createElement("script");

              js.type = "text/javascript";

              js.src = url;

              head.appendChild(js);

              return js;

              };

              for (; i < len;) {

              if (cache[encodeURIComponent((_url = url[i++]))]) {//如果加載過

              (++ok >= len && fn) && fn();//如果加載完所有的js則執行回調

              continue;

              }

              cache[encodeURIComponent(_url)] = !0;//設置緩存

              js = create(_url);//創建js

              fn && (js.onload = function() {

              if (++ok >= len) {//如果加載完所有的js則執行回調

              fn();

              }

              });

              };

              head = js = _url = create = null;

              return this;

              }

              })();