Чтение других сообщений, таких как этот вопрос SO, приведет меня к эта нечетная рекомендация Google по оптимизации CSS. "Нечетные" , являющиеся их рекомендацией по отсрочке загрузки CSS, заканчивались следующим образом:
<div class="blue">Hello, world!</div>
</body>
</html>
<noscript><link rel="stylesheet" href="small.css"></noscript>
Помимо кажущегося чрезмерного, сбивающего с толку, имеющего недействительный HTML и заявляющего: "Порядок использования правил CSS поддерживается... через javascript". хотя javascript не показан... мой вопрос таков:
При тестировании своего примера и проверке результата весь код, который происходит после </html>
, перемещается непосредственно перед </body>
. Итак, мой вопрос... ПОЧЕМУ?
-
Почему это было перемещено? Кажется, что все основные браузеры пытаются учесть код после
</html>
, переместив его до</body>
. Я немного искал и не мог найти никаких документов/стандартов. -
Почему Google даже рекомендует это? Как и в том, есть ли реальная практическая польза для этого? Потому что я думаю, что положить его до начала
</body>
для начала будет достаточно. (и относительно хорошего субъективного объяснения BoltClock, есть ли какие-либо убедительные доказательства того, что на самом деле есть увеличение производительности?)
Это произошло в IE11, Firefox 26, Chrome 32.x и Windows Safari 5.1.7. Проверенный HTML был:
<div class="blue">Hello, world!</div>
<noscript><link rel="stylesheet" href="small.css"></noscript>
</body>
</html>
Добавление дополнительного кода после </html>
имело тот же результат.
Это напоминает мне другую нечетную коррекцию ошибок, например, как браузеры будут отображать теги <image>
как <img>
(ref)...
UPDATE: Для тестирования я настраиваю этот URL для НЕ отложенного CSS, а также this URL для отложенного CSS (ну, что я ожидаю от этой статьи)...