代码改变世界

解决“向终端显示内容产生时间延迟”

2017-10-15 00:36  心猿意‘码’  阅读(236)  评论(0编辑  收藏  举报

①将所有的脚本放置于HTML的末尾,这样处理JS脚本的延迟会在页面完成渲染之后出现

②脚本加载:创建一段内嵌的JS代码,动态的将脚本标签附加到文档后边

示例:

var remoteLoader = function remoteLoader(){
     function constructScriptTag(src){
     var script = window.document.createELement('SCRIPT');
     script.src = src;
     return script;
     }
     return{
       loadJS:function(script_url){
         if(typeof script_url === "object"){
           var frag = document.createDocumentFragment();
           for(var ind = 0;ind<script_url.length;ind++){
             frag.appendChild(constructScriptTag(script_url[ind]));  
           }
           window.document.getElementsByTagName('HEAD')[0].appendChild(frag.cloneNode(true));       
         }
       }else if(typeof script_url === "string"){
          window.document.getElementByTagName('HEAD')[0].appendChild(construcScriptTag(script_url));
        }
     }
   }();

可以通过传递一个字符串或者一个数组来调用该函数

   <script>
     remoteLoader.loadJS("");//passing in a string
     remoteLoader.loadJS(["",""]);//passing in a array
   </script>