如果在其他脚本之前或之后加载html5shiv JS,这有关系吗? (页面加载时间)

时间:2013-07-02 23:15:28

标签: javascript html optimization html5shiv

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

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

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

2 个答案:

答案 0 :(得分:3)

html5元素的html5shiva 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,这将并行加载脚本。