异步加载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
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
上面的代码一看都明白,不多说了
————————————————————————————————————————
一个人的时候,总是在想
我的生活到底在期待什么……