HTML5shiv работает только когда в разделе HEAD? - PullRequest
3 голосов
/ 06 марта 2012

Чтобы мои сайты работали как можно быстрее, я предпочитаю загружать скрипты .js в конце документа, непосредственно перед закрывающим тегом body, резервируя css для раздела HEAD. Однако я обнаружил, что приведенный ниже html-код shiv, очевидно, работает только при создании экземпляра в разделе HEAD.

<!--[if lt IE 9]>
    <script type="text/javascript" 
        src="http://html5shiv.googlecode.com/svn/trunk/html5.js">
    </script>
<![endif]-->

Кто-нибудь знает об обходном пути?

Ответы [ 2 ]

19 голосов
/ 24 июля 2013

Google-код НЕ CDN.Не связывайте файлы в транке.

Посмотрите на заголовки ответа:

Google code is NOT a CDN

Срок действия кэша истекает через 3 минуты ... этополная противоположность тому, что мы хотим от CDN.

Пожалуйста, прекратите это делать.

Примечание

Как прокомментировал Жоао Кунья, выможно найти реальные ссылки CDN на cdnjs.com: html5shiv .( response.js также можно найти там)

Образец:

<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.js"></script>
<![endif]-->
14 голосов
/ 06 марта 2012

Способ работы HTML5 shiv требует , чтобы вы поместили его в элемент <head>.На самом деле, так сказано на странице проекта :

Чтобы использовать этот сценарий, его необходимо включить перед элементом <body> (т. Е. В <head>), ноне имеет значения, появляется ли он до или после CSS - но для повышения производительности было бы целесообразнее сначала включить CSS, а не этот скрипт.

Это так, чтобы IE мог распознаватьЭлементы HTML5, прежде чем он начнет создавать тело документа.

Обходного пути для этого не существует.

Урок здесь не в том, чтобы одержать верх над всеми вашими сценариями в конце страницы.CDN чертовски быстр в обслуживании вещей, поэтому вам не нужно перемещать этот конкретный сценарий. 1


1 Но какдругие упоминали, что поскольку код Google на самом деле не является CDN, вам следует выбрать другой источник.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...