Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

SCRIPT的加载问题

  HTML中加载SCRIPT标签的顺序是从上到下的,执行顺序也是从上到下的。
//a.js
var x=2;
//b.js
alert(x);
<script src="a.js"></script>
<script src="b.js"></script>

  它们是从上到下一个个加载并执行的,所以如果把加载慢的的放在前面就会影响整个文档的打开速度。可是放在文档末尾就不会影响吗!?我们经常都把代码当如DOMReady事件中,如果一个加载很慢的SCRIPT在文档末尾,一样会让文档处于加载状态,使得DOMReady不会触发。所以加载慢的SCRIPT不要放在页面的任何位置,应该使用动态加载。
  通常,我们需要加载的脚本文件都是在同一个服务器上的,这不会有什么加载效率慢的问题,因为HTTP/1.1是使用一个持久TCP连接作为传输的,不会在连接上浪费时间。而且如果HTML本身可以加载的话,服务器上的SCRIPT当然也能加载的。我们遇到的加载慢的情况,一般是加载外部脚本文件的时候。比如用一些外部插件,比如广告、统计、分享,这些插件。由于他们不是在自己的服务器上,所以我们没有加载它们时绝对顺利的把握。把它们放在文档中的任何位置,都有可能影响到整个页面的加载速度。所以,对于外部脚本文件我建议动态加载,甚至用到时再加载。比如“百度分享按钮”,用户如果没点击分享,就不需要把它显示出来,那么根本不需要每次都去加载它。因为点击分享的人并不多,我们只要在用户点击了分享以后再去加载这个脚本就可以了。
  至于动态加载的做法,无非就是在JavaScript代码中动态向文档中添加SCRIPT标签来加载东西。jQuery也有getScript可以用于动态加载。这些东西我就不做演示了,这篇文章想告诉大家的只是不要把不必要的东西放入HTML中加载。
网名:
3.84.186.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^