1

这是在您的网站上包含 javascript 的最佳方式吗?http://www.webdigi.co.uk/blog/2009/avoid-javascript-blocking-content-download-on-your-website-during-page-load/

4

4 回答 4

3

在您的网站上包含 JavaScript 的最佳方法是在页面末尾包含尽可能少的文件*,在所有标记和其他资产都已加载之后这样做还具有鼓励“渐进增强”开发模式的额外好处。

*雅虎积极投入大量资金进行研究,并聘请了专职的全职人员(包括才华横溢的史蒂夫·苏德斯)在线和以书本的形式发布他们的发现。

于 2009-03-18T14:54:18.387 回答
2

似乎不是一刀切的情况,所以我经常求助于这篇著名的文章来帮助我回答这样的问题:

http://developer.yahoo.com/performance/rules.html

于 2009-03-18T15:01:55.857 回答
0

它在其中一个播客中提到过,但如果您将 javascript 托管在单独的域甚至子域上,浏览器可以打开更多连接并同时下载 js 和页面的其余部分。这就是为什么很多人选择链接到 google 的 jQuery 实例,而不是他们自己的。这个例子也有缓存的好处,但核心原则是成立的。

于 2009-03-18T15:15:35.277 回答
0

简而言之,这篇文章是说<script>动态附加节点DOM以实现脚本文件的并行下载。这有效,并不是什么新鲜事。

但是它没有提到该方法的最大缺点:虽然脚本将并行下载,但它们的执行顺序是不确定的。IE 将按照它们完成下载的顺序执行它们,而 Firefox 按照它们在 DOM 中的附加顺序执行它们。

这是个问题。例如,假设脚本 A 和脚本 B 是使用该技术添加的。现在假设脚本 A 是 jQuery,脚本 B 这样做:

$(document).ready(function(){...})

在 IE 中,如果出于某种原因(例如,网络流量、缓存未命中)脚本 B 在脚本 A 之前完成下载,您会被搞砸,因为它将在 jQuery 加载之前执行。

请参阅这篇文章以获得更好的解释。

雷克斯 M 的答案是要走的路。

于 2009-03-18T15:22:18.693 回答