Правило YSlow 8 (сделать JavaScript и CSS внешним) против действительного html5

Мне нравится YSlow. И старайтесь руководствоваться здравым смыслом, следуя его правилам. Но ради интереса я пытаюсь, чтобы мой сайт ASP.NET MVC набрал 100 баллов. И я почти на месте (на данный момент на 99 даже зеркально отразил мой сайт на другом сервере и изменил about:config для симуляции CDN).).

И после тестирования я обнаружил, что для получения идеального результата по правилу 8 (где я получаю одно очко за 2 встроенных скрипта) нужно нарушать правила синтаксиса HTML5 (согласно валидатору w3c). Я думаю, что это также относится к правилам синтаксиса HTML4.

Например, без вычетов (нарушает правила синтаксиса HTML5):

<script type="text/javascript" src="/ui/scripts/lib/core.js" />

И для действительного HTML5, но с вычетами на счет YSlow:

<script type="text/javascript" src="/ui/scripts/lib/core.js"></script>

Моя гипотеза заключается в том, что в некотором смысле это правильно, поскольку веб-браузер будет сканировать любой сценарий во втором примере, а не в первом (поскольку второй является открывающим и закрывающим тегом).

Кто-нибудь знает другой способ обойти это? Может ли один сокр получить идеальную сотню и при этом иметь действительный HTML5?

1 ответ

Решение

В обоих случаях вы можете избавиться от type="text/javascript" из тега сценария. Но да, вам нужен закрывающий скрипт-тег.

YSlow здесь неверен.

Другие вопросы по тегам