异步加载js脚本的方法

做网页编程避免不了使用js文件,但有时因为一个js影响整个页面的响应速度,一卡一卡的户体验大大不好。当然,页面优化的方法很多,js压缩、静态化,减少请求次数等,但这些不是咱们要说的方法。现在要说的是通过异步的方式获取js文件,使用户感觉不到延时。没什么新鲜东西,下面贴一段在网上找到的调用方法

js
 1  var  MiniSite = new  Object();
 2  MiniSite.Browser = {
 3      ie: / msie / .test(window.navigator.userAgent.toLowerCase()),
 4      moz: / gecko / .test(window.navigator.userAgent.toLowerCase()),
 5      opera: / opera / .test(window.navigator.userAgent.toLowerCase()),
 6      safari: / safari / .test(window.navigator.userAgent.toLowerCase())
 7  };
 8 
 9  MiniSite.JsLoader = {
10      load: function (sUrl,fCallback){
11           var  _script = document.createElement( ' script ' );
12          _script.setAttribute( ' charset ' , ' gb2312 ' );
13          _script.setAttribute( ' type ' , ' text/javascript ' );
14          _script.setAttribute( ' src ' ,sUrl);
15          document.getElementsByTagName( ' head ' )[ 0 ].appendChild(_script);
16           if (MiniSite.Browser.ie){
17              _script.onreadystatechange = function (){
18                   if ( this .readyState == ' loaded ' || this .readyState == ' complete ' ){
19                      fCallback();
20                  }
21              };
22          } else   if (MiniSite.Browser.moz){
23              _script.onload = function (){
24                  fCallback();
25              };
26          } else {
27              fCallback();
28          }
29      }
30  };
31 
32  // 使用方法
33  function  showaddr()
34  {
35      alert(IPData);
36  }
37 
38  MiniSite.JsLoader.load( " http://fw.qq.com/ipaddress " , function (){showaddr();});
39 


 上面的代码一看都明白,不多说了

 

 

你可能感兴趣的:(异步加载)