来源:天津达内IT教育
时间:2021/7/27 15:42:01
天津专业的web培训机构有哪些?IT培训选达内,专注IT培训,达内开设Java,UI,会计,php,Android,IOS,linux,网络营销等IT培训,泛IT培训和非IT培训共26大培训课程,一地学习,全国就业!
Web前端性能优化的实用技巧
一.提高加载性能
1.IE8,FF,3.5,Safari 4和Chrome都允许并行下载js文件,当script下载资源时不会阻塞其他script的下载。但是js下载仍然会阻塞其他资源的下载,如图片。尽管脚本下载不会互相影响,但页面仍然必须等待所有js代码下载并执行完才能继续。因此仍然存在脚本阻塞问题.推荐将所有js文件放在body标签底部以减少对整个页面的影响。
2.减少页面外链脚本文件的数量将会提高页面性能:
http请求会带来额外的开销,因此下载单个300k的文件将比下载10个30k的文件效率更高。
3.动态脚本加载技术:
无论何时启动下载,文件的下载和执行都不会阻塞页面其他进程。
functionlaodScript(url,callback){
varscript =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{//其他浏览器
script.onload =function(){
callback()
}
}
script.src = url;
document.getElementsByTagName('head')[0].appendChild(script);
}
//使用
loadScript('./a.js',function(){
loadScript('./b.js',function(){
loadScript('./c.js',function(){
console.log('加载完成')
})
})
})
4.无阻塞加载类库——LABjs,使用方法如下:
<script src="lab.js"></script>
//链式调用时文件逐个下载,.wait()用来指定文件下载并执行完毕后所调用的函数
$LAB.script('./a.js')
.script('./b.js')
.wait(function(){
App.init();
})
//为了增加执行顺序,可以这么做,此时a必定在b前执行
$LAB.script('./a.js').wait()
.script('./b.js')
.wait(function(){
App.init();
})
版权所有:搜学搜课(www.soxsok.com)