<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
        主站蜘蛛池模板: 日韩精品无码免费专区午夜 | 国产成人免费福利网站| 337p欧洲亚洲大胆艺术| 久久99精品视免费看| 亚洲国产精品无码久久久不卡| 成年女人18级毛片毛片免费观看| 亚洲美女aⅴ久久久91| 91短视频免费在线观看| 亚洲欧洲尹人香蕉综合| 黄网站色成年片大免费高清 | 亚洲最大成人网色香蕉| 成人免费无码视频在线网站| 亚洲人成色777777老人头| 久久国产精品免费一区| 亚洲精品无码Av人在线观看国产 | 日本一道本不卡免费| 国产成人一区二区三区免费视频| 亚洲成在人线aⅴ免费毛片| 久久综合给合久久国产免费 | 国产成年无码久久久免费| 亚洲成AV人片在线播放无码| 最好看的中文字幕2019免费| 亚洲男女内射在线播放| 免费无码H肉动漫在线观看麻豆| 亚洲欧洲日韩不卡| 久久精品a一国产成人免费网站 | 免费毛片a在线观看67194| 亚洲精品成a人在线观看☆| 亚洲精品尤物yw在线影院| 国产成人精品无码免费看| 亚洲 欧洲 视频 伦小说| 亚洲av片一区二区三区| 免费人成毛片动漫在线播放| 亚洲人色大成年网站在线观看| 日韩免费观看的一级毛片| 东北美女野外bbwbbw免费| 亚洲精品二三区伊人久久| 国产精品V亚洲精品V日韩精品 | 亚洲综合精品成人| 亚洲中文字幕第一页在线| 日本在线高清免费爱做网站|