• <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文件函數(shù)

        時(shí)間:2024-09-28 21:52:48 JavaScript 我要投稿
        • 相關(guān)推薦

        javascript寫的異步加載js文件函數(shù)

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

          復(fù)制代碼 代碼如下:

          /**

          * 加載js文件

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

          * @param {Function} fn 加載完成后回調(diào)

          * @return {object} game對象

          * @example

          * getScript("url.js",fn)

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

          */

          game.getScript = (function() {

          var cache = {};//內(nèi)部緩存下url,下次則不請求

          return function(url, fn) {

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

          url = [url]; //如果不是數(shù)組帶個(gè)套

          };

          var i = 0,//循環(huán)起

          ok = 0,//加載成功幾個(gè)js

          len = url.length,//一共幾個(gè)js

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

          js, _url,

          create = function(url) {//創(chuàng)建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則執(zhí)行回調(diào)

          continue;

          }

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

          js = create(_url);//創(chuàng)建js

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

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

          fn();

          }

          });

          };

          head = js = _url = create = null;

          return this;

          }

          })();

        【javascript寫的異步加載js文件函數(shù)】相關(guān)文章:

        淺析jQuery 遍歷函數(shù)javascript08-06

        Javascript函數(shù)的定義和用法分析08-15

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

        最常用的20個(gè)javascript方法函數(shù)09-10

        JavaScript日期時(shí)間格式化函數(shù)08-29

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

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

        有關(guān)javascript實(shí)現(xiàn)的多個(gè)層切換效果通用函數(shù)示例10-07

        JavaScript基于正則表達(dá)式數(shù)字判斷函數(shù)06-14

        Node.js如何響應(yīng)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. 亚洲欧洲非洲在线观看 | 日本中文字幕免费喷奶水 | 亚洲欧美中日韩中文字幕在线 | 色五月婷婷中文字幕 | 久久成人免费精品二区 | 尤物国产在线精品三区蜜芽 |

            javascript寫的異步加載js文件函數(shù)

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

              復(fù)制代碼 代碼如下:

              /**

              * 加載js文件

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

              * @param {Function} fn 加載完成后回調(diào)

              * @return {object} game對象

              * @example

              * getScript("url.js",fn)

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

              */

              game.getScript = (function() {

              var cache = {};//內(nèi)部緩存下url,下次則不請求

              return function(url, fn) {

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

              url = [url]; //如果不是數(shù)組帶個(gè)套

              };

              var i = 0,//循環(huán)起

              ok = 0,//加載成功幾個(gè)js

              len = url.length,//一共幾個(gè)js

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

              js, _url,

              create = function(url) {//創(chuàng)建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則執(zhí)行回調(diào)

              continue;

              }

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

              js = create(_url);//創(chuàng)建js

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

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

              fn();

              }

              });

              };

              head = js = _url = create = null;

              return this;

              }

              })();

            【javascript寫的異步加載js文件函數(shù)】相關(guān)文章:

            淺析jQuery 遍歷函數(shù)javascript08-06

            Javascript函數(shù)的定義和用法分析08-15

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

            最常用的20個(gè)javascript方法函數(shù)09-10

            JavaScript日期時(shí)間格式化函數(shù)08-29

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

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

            有關(guān)javascript實(shí)現(xiàn)的多個(gè)層切換效果通用函數(shù)示例10-07

            JavaScript基于正則表達(dá)式數(shù)字判斷函數(shù)06-14

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