为什么html5shiv需要条件注释?

时间:2017-05-31 09:51:57

标签: html html5shiv

我刚刚开始维护一个使用html5shiv的非常大的遗留代码库。我从文档中注意到它应该在样式表链接之后在条件注释中声明:

<link rel="stylesheet" type="text/css" href="/css/example.css">
<!--[if lt IE 9]>
    <script src="scripts/html5shiv/dist/html5shiv.js"></script>
<![endif]-->

但是在我的代码库中,它在样式表链接之前声明,没有像这样的条件注释:

<script src="scripts/html5shiv/dist/html5shiv.js"></script>
<link rel="stylesheet" type="text/css" href="/css/example.css">

我只是想更好地理解为什么文档建议在评论和css之后声明。不是这样会造成任何麻烦,如果是这样的话是什么?我问的原因是我正在考虑删除它,因为我们不再支持旧版本的IE,并且想知道这样做是否可能导致新浏览器出现任何问题。

1 个答案:

答案 0 :(得分:0)

条件注释仅在Internet Explorer版本低于9的情况下加载html5shiv代码。其他浏览器(例如Firefox和Chrome)也将忽略此标签,并且不会执行脚本,从而节省了带宽

html5 shiv基于一个简单的解决方法:它指示IE使用JavaScript创建元素(它们甚至不需要插入DOM)。