请给出异步加载js方案,不少于两种

默认情况javascript是同步加载的,也就是javascript的加载时阻塞的,后面的元素要等待javascript加载完毕后才能进行再加载,对于一些意义不是很大的javascript,如果放在页头会导致加载很慢的话,是会严重影响用户体验的。

异步加载方式:

(1) defer,只支持IE

(2) async:

(3) 创建script,插入到DOM中,加载完毕后callBack,见代码:

function loadScript(url, callback){

   var script = document.createElement("script")

   script.type = "text/javascript";

   if (script.readyState){ //IE

      script.onreadystatechange = function(){

         if (script.readyState == "loaded" ||

            script.readyState == "complete"){

            script.onreadystatechange = null;

            callback();

         }

      };

   } else { //Others: Firefox, Safari, Chrome, and Opera

      script.onload = function(){

          callback();

      };

   }

   script.src = url;

   document.body.appendChild(script);

}

相关文章:

  • 2021-10-11
  • 2021-12-11
  • 2022-02-07
  • 2021-10-27
猜你喜欢
  • 2022-02-07
  • 2021-05-15
  • 2022-02-07
  • 2021-06-27
  • 2021-05-28
  • 2021-05-16
  • 2021-05-19
相关资源
相似解决方案