2

我只是想知道 html5shiv.js 脚本加载的放置是否重要。我所知道的是它必须在<head>页面的部分。

它是否需要出现在页面上的所有其他脚本之前?如果它是加载的第一个或最后一个脚本,会有所不同吗?如果在之前/之后加载,它会与库冲突吗?

页面加载时间的最佳解决方案是什么?

4

2 回答 2

3

html5shiv是html5 元素的polyfill。因此,它必须在您的<head>内部,并且将其放在其他任何地方都会破坏目的。它意味着<head>在所有标记之前运行,并且仅适用于版本 9 以下的 IE。这确保它能够使 IE 正常工作。如果你在其他任何地方运行它,可能会发生不好的事情。以下是如何加载它:

<head>
....
<!--[if lt IE 9]>
<script src="html5shiv.js"></script>
<![endif]-->
...
</head>
<body>

您的具体问题

它是否需要出现在页面上的所有其他脚本之前?

是的。这最大限度地减少了 IE 中的冲突和奇怪的问题。例如,它会在浏览器中创建后续脚本可能需要的未知元素。

如果它是加载的第一个或最后一个脚本,会有所不同吗?

是的。如果它是最后加载的,其他脚本可能不会受益。例如,他们的特征检测可能会检测到不存在的元素并诉诸较慢的替代方案。

如果在之前/之后加载,它会与库冲突吗?

在大多数情况下,我会说如果你在它之前加载某些东西并且某些东西试图对未知的 html5 元素做某事,它可能会导致冲突。

实际上,这取决于您在做什么!以及您放置在那里的代码。您可以编写/拥有与它冲突或不冲突的代码并将其放在之前。一般来说,只要您不进行任何 DOM 操作或挂钩任何东西,就应该没问题。在 IE 中测试并查看.

页面加载时间的最佳解决方案是什么?

您是否在问网页的最佳页面加载时间应该是多少?如果这就是你的意思,那么我的回答是没有一个,因为它一直在变化。不过,我可以根据经验告诉您,您希望页面加载时间不超过 2 秒。但有时就像在电子商务网站中一样,您可能会自然地制作更重的页面。平衡是关键。总是测试

我记得 5 或 6 年前的平均时间在 8 到 14 秒之间,那是在 DSL 连接上。

甚至会建议真正受欢迎和成功的网站将需要尝试达到 1 秒以上,因为人们变得更加不耐烦并且我们对技术的访问变得更容易获得。

于 2013-07-03T19:28:55.487 回答
-3

如果您真的想加快脚本加载时间,请使用RequireJS,它将并行加载您的脚本。

于 2013-07-03T00:15:01.363 回答