我正在看道格拉斯·克罗克福德(Douglas Crockfords)”dom理论“他提到我的脚本标签的位置可以极大地影响我的应用程序的负载时间。此外,他断言,脚本标签应尽可能地朝着文档主体的底部包含。

这是准确的吗?

或者

这个视频过时了吗? (他实际上是因为他没有尽快在DOM上演讲的原因)。

有帮助吗?

解决方案

其他提示

在页面的其余部分开始加载之前,将加载标题中的文件。建议您尽可能地加载非必需的文件,以便事先加载页面的其余部分。

有一些JS库(例如LABJ),您可以将其加载到标题中。然后,它们允许您异步加载所有其他JS资产,并提供回调,以便当您知道JS资产已加载时,代码的其余部分都可以执行。

您也可以使用 http://labjs.com/ .

如项目页面中所述:

LABJ(加载和阻止JavaScript)是由Getify Solutions支持的开源(MIT许可证)项目。 LABJ的核心目的是成为一个通用的,点播的JavaScript加载器,能够随时从任何位置加载任何JavaScript资源到任何页面。使用LABJ加载脚本可以减少页面加载过程中的资源阻止,这是优化网站性能的一种简单有效的方法。

默认情况下,LABJ将按照浏览器允许的速度加载(并执行)所有脚本。但是,您可以轻松地指定哪些脚本具有执行订单依赖性,而LABJ将确保正确执行订单。这使LABJ可以安全用于几乎任何JavaScript资源,无论您控制/托管它,以及它是独立的还是较大的资源依赖性树的一部分。

使用LABJ将替换所有丑陋的“标签汤” - 这是通常出现在HTML页面的或末端的所有标签。 API具有表现力和链接,可以让您指定要加载的脚本,以及何时等待(如有必要)执行,然后再进行进一步执行。 API还可以轻松允许内联代码执行耦合(思考:内联标签)。

LABJ现在有幸从与Steve Souders的合作中受益,并旨在成为优化,灵活,一般脚本加载的最佳解决方案。

我也听说,应该在页面末尾包含JavaScript,以“希望”确保DOM已加载。我相信我前一段时间在Yahoo文档中阅读了这篇文章。

好吧,这是正确的。除非您使用诸如“ head.js”之类的东西,以并行加载JavaScript文件。哦,而且有些脚本必须在内容之前。例如,HTML5-SHIV脚本。

http://headjs.com/

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top