网页优化
您所在的位置:封程中个人博客 > 前端开发 > 网页优化 >

网页如何优化JS文件提高网页速度?

字号+ 作者:封程中 来源:封程中个人博客 2015-10-22 14:24 阅读(0) 我要评论(0)

随着互联网用户需求的提升,加上移动设备的越来越普及和流行,网站加载速度越来越受到站长的关注。网站加载时间是用户流失的一个主要原因,普通用户是不会有耐心来等待一个...

随着互联网用户需求的提升,加上移动设备的越来越普及和流行,网站加载速度越来越受到站长的关注。网站加载时间是用户流失的一个主要原因,普通用户是不会有耐心来等待一个超长的网页加载,而这一点直接影响到网站的运营。


  在百度站长平台页面优化建议中,百度就着重检查了网站加载时间这一块,并针对首字节时间、使用长链接、启用gzip压缩、图片压缩、设置静态内容缓存时间、合理使用Cookies、合并CSS和JS文件等方面给出了优化建议。这些就不一一说了,下面就谈谈网页如何设置JS文件提高加载速度。


  



  绝大部分网页都会把JS文件放在head中,但是很多浏览器都会使用单一的线程来做网页页面的加载和JS脚本处理,也就是当执行引擎遇到script代码的时候,此时页面后面的加载都必须等JS执行完毕。如果JS执行速度慢,那么用户就只能死等了,此时用户就很可能关掉网页。


  IE8,Firefox3.5和Chrome2都实现了js的并行下载,这个相当不错的,自动就缩短了JS的执行时间,但是还是会阻碍一些其他资源的下载。比如说JS文件后的图片代码要等到JS执行完毕后才会进行加载,这样还是可能造成用户的等待,如何做呢?


  一、JS文件位置调整


  既然JS文件放在前面后延迟后面代码的加载,那么我们可以考虑将JS放在/body前或更厚,这样就可以让script前的html完美的呈现,不会让用户看到空白页面,提高了体验度。


  二、合并JS文件


  尽管在将JS文件位置后移后可以让其他代码优先加载,但在执行JS文件的时候任然比较耗费时间,如果JS文件比较多,就需要进行多次“Get”请求,延长加载速度。那么我们自然就是要减少Get请求。通常有两种方案:


  第一:合并js文件,比如将1.js、2.js和3.js合并掉。


  第二:利用第三方工具,比如php中的Minify。


  关于合并JS,是用得比较多的,绝大部分网站都是外部调用JS,而现在把调用的JS合并到一起也是很常见的。


  三、最后执行JS文件


  不管是把JS文件放在脚尾,还是合并JS文件,都是治标不治本,也就是无限的去缩短JS执行时间,并且避免JS执行与代码加载互相冲突,但是这样只是让html代码文件尽管加载,还是不能很好的避免JS执行与代码加载互阻,当web页面越来越复杂,JS文件越来越多,这个阻碍就会越来越大。


  所以最好的办法就是让JS文件最后加载,也就是页面全部呈现完再追加JS脚本,当window.onload事件触发完后,我们才开始加载JS,这样完全不会让用户去等待网站的主题内容加载,目前有很多大型网站就是利用的这个。这一点需要与技术人员协作完成或自己动手在网上找代码,不过个人建议还是教给会的人完成,自己可以先学,以免出现失误,得不偿失。


  以上就是个人的一些浅见,所以除非需要将JS文件放在head位置,否侧建议应该将JS文件放在/body之前或是更后面,同时合理的合并JS文件,减少GET次数,如果无限制还可以设置JS最后执行,当然是不影响网页整体UI的情况下,这样大大提高了网页主题信息的加载速度。提高网站的用户体验。


文章来自seo博客:http://blog.sina.com.cn/mumuhouzi 有什么问题欢迎讨论!

来源:(QQ号:604849147),原创文章如转载,请注明本文链接:http://fcz8k.com/webyh/487.html

 

1.如果您觉得文章帮助了您,可以点击下面的广告来支持我,谢谢!2.本站的原创文章,请转载时务必注明文章作者和来源,谢谢!3.作者投稿可能会经我们编辑修改或补充,并且会注明版权来源,谢谢!

相关文章
  • 一张图看懂HTML5的前端性能优化的5个大方案

    一张图看懂HTML5的前端性能优化的5个大方案

    2015-10-29 18:45

  • 网页性能优化教程四:apache、nginx利用Expires和Cache-Control来设置服务器缓存

    网页性能优化教程四:apache、nginx利用Expires和Cache-Control来设置

    2015-07-27 13:48

  • 网页性能优化教程一:精简和合并 css、js资源文件

    网页性能优化教程一:精简和合并 css、js资源文件

    2015-07-27 13:38

网友点评
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)