日期:2014-05-16 浏览次数:20376 次
通常javaScript文件的加载会占用网页中其他元素的下载资源,在一些特别追求Web应用响应速度而且JavaScript文件并不那么小的时候,可以考虑使用异步加载JavaScript的方法来避免影响正常内容的加载进程
??? 有人会问:为什么JS不能像css、image一样并行下载了?这里就不介绍了,有兴趣的同学可以去查看下这篇文章高性能web开发 - 如何加载JS,JS应该放在什么位置?
异步加载的思路很简单:
方法一:
function include_js(path,reload) { var scripts = document.getElementsByTagName("script"); if (!reload) for (var i=0;i<scripts.length;i++) if (scripts[i].src && scripts[i].src.toLowerCase() == path.toLowerCase() ) return; var sobj = document.createElement('script'); sobj.type = "text/javascript"; sobj.src = path; var headobj = document.getElementsByTagName('head')[0]; headobj.appendChild(sobj); }
?
1 |
< div id = 'jsdiv' ></ div >
|
然后在include_js之前加上这句:
document.write = function (s)
{
document.getElementById('jsdiv').innerHTML+=s;
return false;
}
?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);
}
?01 |
var MiniSite= new Object();
|
免责声明: 本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
|