利用Image对象和link标签预加载js文件_J2EE/J2ME技术_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

利用Image对象和link标签预加载js文件

作者:黑客防线网安JS教程网 来源:黑客防线网安JS教程网 浏览次数:0

本篇关键词:Imagelink
黑客防线网安网讯:为了实现让js尽可能快的下载,而又不马上执行,想到了这么一个方法:先想方设法提前加载资源,在需要使用的时候再利用<script>标签引入资源。

为了实现让js尽可能快的下载而又不马上执行想到了这么一个方法:先想方设法提前加载资源,在需要使用的时候再利用<script>标签引入资源

实现步骤:

一、在head标签中:

折叠C/C++ Code复制内容到剪贴板
  1. <script type="text/javascript">  
  2.   
  3.     (function() {  
  4.   
  5.         window.preLoad=function(url,fn){  
  6.             var  c,fg,h,ua,dh;  
  7.             if(!url) return;  
  8.             ua=navigator.userAgent;  
  9.             fg=ua.indexOf("Chrome")>-1||ua.indexOf("Safari")>-1?true:false;  
  10.   
  11.             dh=function(){  
  12.                 setTimeout(function(){  
  13.                     h();  
  14.                 },1500);  
  15.             };  
  16.   
  17.             if(fg){  
  18.                 c=new Image();  
  19.                 h=function(){  
  20.                     c=null;  
  21.                     if(typeof(fn)=="function"){fn();}  
  22.                 };  
  23.                 if(c.onload || c.onerror){  
  24.                     c.onload=h;  
  25.                     c.onerror=h;  
  26.                 }else{  
  27.                     dh();  
  28.                 }  
  29.                 c.src = url;  
  30.             }else{  
  31.                 c = document.createElement('link');  
  32.                 c.rel="stylesheet";  
  33.                 c.media="print";  
  34.                 h=function(){  
  35.                     document.getElementsByTagName('head')[0].removeChild(c);  
  36.                     c=null;  
  37.                     if(typeof(fn)=="function"){fn();}  
  38.                 };  
  39.                 if(c.onload || c.onerror){  
  40.                     c.onload=h;  
  41.                     c.onerror=h;  
  42.                 }else{  
  43.                     dh();  
  44.                 }  
  45.                 document.getElementsByTagName('head')[0].appendChild(c);  
  46.                 c.href = url;  
  47.             }  
  48.         };  
  49.   
  50.         //预加载  
  51.         var url="http://jsnewt.sohu.com/j-src/Package.js";  
  52.         preLoad._ready=[0];  
  53.         preLoad(url,function(){  
  54.             preLoad._ready.push(function(){  
  55.                 var s = document.createElement('script');  
  56.                 s.src = url;  
  57.                 s.type = 'text/javascript';  
  58.                 document.getElementsByTagName('head')[0].appendChild(s);  
  59.                 s = null;  
  60.             });  
  61.             if(preLoad._ready[0]==1){  
  62.                 preLoad._ready[1].apply();  
  63.             }else{  
  64.                preLoad._ready[0]=1;  
  65.             }  
  66.         });  
  67.   
  68.     })();  
  69.   
  70. </script>   
  71.   
  72. 二、在</body>标签前:  
  73.   
  74. <script type="text/javascript">  
  75.   
  76.     //创建script并执行package  
  77.     if(preLoad && preLoad._ready){  
  78.         if(preLoad._ready.length==2){  
  79.             preLoad._ready[1].apply();  
  80.         }else{  
  81.             preLoad._ready[0]=1;  
  82.         }  
  83.     }  
  84.   
  85. </script>  
    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-19630-1.html
网站维护教程更新时间:2013-01-21 06:22:15  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer