动态加载JS、CSS

  1. /*  
  2.  * o的结构 {js:['a.js'],css:['a.css'],callback:function(){}}  
  3.  */  
  4. var jsCssLoadRun = function(o) {   
  5.     var count = 0;   
  6.     var scriptTag, linkTag;   
  7.     var scriptFiles = o.js;   
  8.     var cssFiles = o.css;   
  9.     var head = document.getElementsByTagName('head')[0];   
  10.   
  11.     for ( var k = 0; k < cssFiles.length; k++) {   
  12.         linkTag = document.createElement('link');   
  13.         linkTag.type = 'text/css';   
  14.         linkTag.rel = 'stylesheet';   
  15.         linkTag.href = cssFiles[k];   
  16.         head.appendChild(linkTag);   
  17.     }   
  18.   
  19.     for (k = 0; k < scriptFiles.length; k++) {   
  20.         scriptTag = document.createElement('script');   
  21.         scriptTag.type = 'text/javascript';   
  22.         scriptTag.charset = 'utf-8';   
  23.         scriptTag.src = scriptFiles[k];   
  24.         head.appendChild(scriptTag);   
  25.         if (typeof o.callback == "function") {   
  26.             if (scriptTag.readyState) { // IE   
  27.                 scriptTag.onreadystatechange = function() {   
  28.                     if (scriptTag.readyState == "loaded"  
  29.                             || scriptTag.readyState == "complete") {   
  30.                         count++;   
  31.                         if (count == scriptFiles.length)   
  32.                             o.callback.call();   
  33.                     }   
  34.                 };   
  35.             } else { // other browsers   
  36.                 scriptTag.onload = function() {   
  37.                     count++;   
  38.                     if (count == scriptFiles.length)   
  39.                         o.callback.call();   
  40.                 };   
  41.             }   
  42.         }   
  43.     }   
  44.   
  45.     if (scriptFiles.length == 0) {   
  46.         o.callback.call();   
  47.     }   
  48. };   
  49.   
  50. jsCssLoadRun({js:['a.js'],css:['a.css'],callback:function(){alert('a');}});  
  1. da shang
    donate-alipay
               donate-weixin weixinpay

发表评论↓↓