<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>

            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;

              }

              })();

            【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

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院