<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        javascript按順序加載運行js方法_javascript技巧

        來源:懂視網 責編:小采 時間:2020-11-27 20:10:45
        文檔

        javascript按順序加載運行js方法_javascript技巧

        javascript按順序加載運行js方法_javascript技巧:本篇文章主要教給大家如何在javascript中動態加載按順序加載運行javascript的方法以及實現代碼,對javascript感興趣的朋友參考學習下吧。如何你的 script 上沒有任何 異步,阻塞 等標注:瀏覽器會異步加載 javascript 文件,但是會按照引用文件中的書寫
        推薦度:
        導讀javascript按順序加載運行js方法_javascript技巧:本篇文章主要教給大家如何在javascript中動態加載按順序加載運行javascript的方法以及實現代碼,對javascript感興趣的朋友參考學習下吧。如何你的 script 上沒有任何 異步,阻塞 等標注:瀏覽器會異步加載 javascript 文件,但是會按照引用文件中的書寫

        本篇文章主要教給大家如何在javascript中動態加載按順序加載運行javascript的方法以及實現代碼,對javascript感興趣的朋友參考學習下吧。

        如何你的 script 上沒有任何 異步,阻塞 等標注:

        瀏覽器會異步加載 javascript 文件,但是會按照引用文件中的書寫順序從上到下執行解析 javascript

        Defer屬性標記

        defer是html4.0中定義的,該屬性使得瀏覽器能延遲腳本的執行,等文檔完成解析完成后會按照他們在文檔出現順序再去下載解析。

        也就是說defer屬性的 script 就類似于將 script 放在body中的加載 效果一致.

        但是defer屬性在各個瀏覽器中支持程度有點不同,就是說,有的瀏覽器不完全支持.

        Async屬性標注

        async是HTML5新增的屬性, 大部分先進支持該屬性的.
        該屬性的作用是讓腳本能異步加載,也就是說當瀏覽器遇到async屬性的 script 時瀏覽器加載css一樣是異步加載的

        javascript 動態加載js文件

        原理很簡單,創建一個 script 節點,給節點賦予 script 的屬性,然后 append 到 dom 的 head 標簽中.

        function loadJS(url){
         var Script = document.createElement('script');
         Script.setAttribute('src', url);
         Script.setAttribute('type', 'text/javascript');
         document.body.appendChild(Script);
         return Script;
        }

        如果我們同時加載多個 javascript 文件

        loadJS('a.js');
        loadJS('b.js');

        上面的效果是,a.js 和 b.js 文件會被異步同時加載,如果 b.js 文件比 a.js 文件小的話,很可能先加載執行 b.js ,完全不會按照書寫結果加載執行

        所以,如果你的 b.js 文件有依賴 a.js 的東西,那么就會報錯,因為解釋執行b.js 的時候,a.js 還在加載中.

        控制javascript 加載執行順序

        我們對代碼做如下改進

        function loadJS(url, success) {
         var domScript = document.createElement('script');
         domScript.src = url;
         success = success || function () {
         };
         domScript.onload = domScript.onreadystatechange = function () {
         if (!this.readyState || 'loaded' === this.readyState || 'complete' === this.readyState) {
         success();
         this.onload = this.onreadystatechange = null;
         this.parentNode.removeChild(this);
         }
         }
         document.getElementsByTagName('head')[0].appendChild(domScript);
         }

        通過script 節點上的 onload 和 onreadystatechange 屬性來監聽節點 src 是否加載完成

        如果成功,調用回調函數 success();

        我們在調用此方法的時候,可以通過 loadJS 回調函數來知道當前節點已經加載完成,然后在回調函數里繼續加載其他 script 文件

        loadJS(getUrl('a.js'), function () {
         loadJS(getUrl('b.js'), function () {
         console.log('a.js ,b.js 加載完成');
         });
        });

        通過上面的方法加載,是一種同步阻塞加載, a.js 加載完成后才會加載執行 b.js 文件.

        如果你的 javascript 文件沒有相互依賴關系,不要使用這種方法.

        相關推薦:

        html、css以及js文件加載順序及執行情況

        jquery popupDialog 使用 加載jsp頁面的方法

        動態加載js的幾種方法_javascript技巧

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        javascript按順序加載運行js方法_javascript技巧

        javascript按順序加載運行js方法_javascript技巧:本篇文章主要教給大家如何在javascript中動態加載按順序加載運行javascript的方法以及實現代碼,對javascript感興趣的朋友參考學習下吧。如何你的 script 上沒有任何 異步,阻塞 等標注:瀏覽器會異步加載 javascript 文件,但是會按照引用文件中的書寫
        推薦度:
        標簽: 加載 方法 js
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲AV永久无码精品一区二区国产| 真人做人试看60分钟免费视频| 又爽又高潮的BB视频免费看| 亚洲性无码AV中文字幕| 成年午夜视频免费观看视频| 亚洲午夜无码久久久久小说| 最近中文字幕mv手机免费高清| 亚洲不卡视频在线观看| 成人无遮挡裸免费视频在线观看| 国产亚洲中文日本不卡二区| 成年女人毛片免费播放人| 亚洲1区2区3区精华液| 亚洲精品成人在线| 日韩电影免费在线观看| 99人中文字幕亚洲区| 国产精品免费观看| 亚洲午夜在线播放| 亚洲国产精品无码久久久久久曰 | 最新免费jlzzjlzz在线播放| 亚洲一区二区三区免费观看 | 亚洲精品老司机在线观看| 国产无遮挡又黄又爽免费网站 | 亚洲伊人久久大香线蕉AV| 日韩免费无码一区二区视频| 日韩精品视频在线观看免费| 亚洲爆乳无码专区| AA免费观看的1000部电影| 在线观看亚洲免费视频| 国产精品亚洲A∨天堂不卡 | 五月天婷亚洲天综合网精品偷| 精品国产污污免费网站入口在线| 精品日韩亚洲AV无码一区二区三区 | 亚洲国产精品无码久久久久久曰 | 成在线人视频免费视频 | 99亚洲乱人伦aⅴ精品| 亚洲人成精品久久久久| 99久久免费精品国产72精品九九| 深夜福利在线视频免费| 亚洲三级在线免费观看| 国产亚洲精品无码专区| 国产桃色在线成免费视频|