十多年来我一直在关注 Web 开发趋势。我一直坚持的最大的网站优化技术之一就是将 JavaScript 放在网站的底部。
我坚持的理由是 JavaScript 会阻止并行下载,并且每个主机名一次只能下载两个组件。如果添加到文档标题中,这将对您的网站加载时间产生负面影响。
现在,我正在重新审视我之前关于网站优化的所有想法,我了解到,对于现代网络浏览器来说,这一切实际上都不再正确了。
例如,截至 2015 年 2 月,Internet Explorer 11 现在每个主机名可以有 13 个连接(不再只有 2 个),并且 JavaScript 不再阻止并行下载!所有现代浏览器都存在这种行为。
如果在用户与页面交互之前不使用 JavaScript,并且无论如何都应该将其放在底部,这是可以理解的,但现在它和以前一样重要吗?
我正在浏览电子商务网站以了解他们现在使用的模式:
看着这座建筑,我差点哭了。超过 60 个外部 JavaScript 文件,其中很多位于页眉中,而几乎没有位于页脚中。
但从网络时间线来看,大多数 JavaScript 文件都以如此惊人的速度首先加载,这实际上并没有影响网站的其余部分。您可以看到所有并行文件同时下载。
我假设这是出于某种特殊原因而完成的,所以我冗长的问题是我是否遗漏了一些东西?
对于现代浏览器来说,有必要遵守过去的旧规则吗?既然我们不再依赖 IE6 和那个时代为浏览器制定的规则,我们是否应该重新审视如何优化网站?
优化技术发生了变化,但与此同时,浏览器的 JavaScript 运行时引擎 + 用户资源也变得更好。确实,您可以通过重新访问旧代码来获得更高的性能,但我怀疑性能的提高是否值得冒意外破坏旧代码的风险(尤其是涉及 IE 时)。
显然,您的代码的用途以及它的服务对象会对您的决定产生很大的影响。例如,如果很大一部分用户使用移动浏览器,则 JavaScript 性能就更为重要。
--edit--
作为旁注,我想提一下,在我看来,该网站对性能并不友好。加载那么多外部(和嵌入式)脚本是不正常的。现在加载大量 JS 文件的更好方法之一是通过 AJAX 注入它们。另一种是让你的服务器根据你的页面将各种JS文件合并成一个,然后缓存这些处理过的文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)