我只是想知道放置html5shiv.js脚本是否很重要。我所知道的是它必须位于页面的<head>
部分。
是否需要在页面上的所有其他脚本之前?如果它是加载的第一个或最后一个脚本,它会有所不同吗?如果在之前/之后加载,它会与库冲突吗?
页面加载时间的最佳解决方案是什么?
答案 0 :(得分:3)
html5元素的html5shiv为a polyfill。因此,它必须在你的<head>
中并且在任何其他地方都有其他目的。它应该在所有标记之前在<head>
中运行,并且仅适用于低于版本9的IE。这可以确保它能够使IE正常工作。如果你在任何地方运行它可能会发生坏事。以下是加载它的方法:
<head>
....
<!--[if lt IE 9]>
<script src="html5shiv.js"></script>
<![endif]-->
...
</head>
<body>
是否需要在页面上的所有其他脚本之前?
是。这最大限度地减少了IE中的冲突和奇怪问题。例如,它会在浏览器中创建后续脚本可能需要的未知元素。
如果它是加载的第一个或最后一个脚本,它会有所不同吗?
是。如果它被加载最后其他脚本可能不会受益。例如,他们的功能检测可能会检测到不存在的元素并采用较慢的替代方案
如果在之前/之后加载,它会与库冲突吗?
在大多数情况下,我会说如果你在它之前加载一些东西并且某些东西试图用未知的html5元素做某事,它可能会引起冲突。
实际上,这完全取决于你所做的事情!你放在那里的代码是什么。您可以编写/拥有与之相冲突或与之不冲突的代码并将其置于之前。一般来说,只要你没有做任何DOM操作或挂钩任何东西,它应该没问题。 Test in IE and see。
页面加载时间的最佳解决方案是什么?
您是否在询问网页的最佳页面加载时间是多少?如果这就是你的意思那么我的答案就是没有一个,因为它不断变化。我可以从经验告诉你,你希望你的页面加载时间不超过2秒。但有时候就像在电子商务网站中一样,你可能会在自然界中制作更重的页面。平衡是关键。始终test
我记得5年或6年前的平均值在8到14秒之间,这是在DSL连接上。
甚至会建议真正受欢迎且成功的网站需要尝试达到1秒的标记,因为人们变得更加不耐烦,我们对技术的访问变得更容易获得。
答案 1 :(得分:-3)
如果您真的想加快脚本加载时间,请使用RequireJS,这将并行加载脚本。