javascript性能影响–加载与运行

来源:互联网 发布:淘宝买家秀怎么弄 编辑:程序博客网 时间:2024/05/06 07:34

加载和运行需要一个过程,可能导致用户等待过长时间,js文件加载后会进行代码解释,后面的代码会停止下载,如style、body等。对于单线程的浏览器尤为突出,现代浏览器一般可以同时下载多个脚本,但运行仍会阻塞其他内容的下载。如果碰到大文件,那么浏览器会被锁死一段时间来等待下载完成。
解决方案:
a、将js文件放在页面底部,即</body>结束标签之前。

b、限制<script>的数量。

c、如果有多个外部脚本文件,将他们打包在一起吧。

d、采用非阻塞脚本方法,等页面完成加载之后,再加载JavaScript 源码:

①如果浏览器支持defer属性,那会起作用的:<script type=”text/javascript” src=”file1.js” defer></script>,这个语句的脚本会被下载但不执行,直到onload事件发生之前。

②用dom来动态创建<script>元素

③用javascript动态加载函数

④XHR(XMLHttpRequest) 脚本注入。优点是,下载不立即执行代码。由于代码返回在<script>标签之外(换句话说不受<script>标签约束),它下载后不会自动执行,这使得你可以推迟执行,直到一切都准备好了。另一个优点是,同样的代码在所有现代浏览器中都不会引发异常。缺点是不能跨域。

⑤使用YUI 3

⑥使用LazyLoad库

⑦LABjs库

转载出处:http://oceanchan.org

原创粉丝点击