2014-03-10 9 views
1

Я получаю много запросов от клиентов, все из которых работают с рекламными агентствами и SEO фирм, которые настаивают на том, все виды тегов и скриптов, размещенных после</body> и перед тем</html>. Я всегда думал, что это неуместно, но его часто спрашивают. Некоторые люди даже расстраиваются и требуют, когда код, который я вставляю, явно не находится между этими двумя закрывающими тегами.Что может быть размещено между</body> и</html>, если вообще?

Является ли это любой приемлемой практикой HTML? Если да, то почему? И какую выгоду он мог бы даже предоставить?

+1

Здесь допускаются комментарии и теги скриптов, но больше ничего там нет. Любой, кто просит вас разместить контент, глупо. – SLaks

+0

@SLaks, скорее всего, они невежественны, а не глупы. – TylerH

+0

@SLaks Есть ли какая-либо польза от размещения там тега скрипта, который невозможен, помещая его непосредственно перед тегом закрывающего тега? – user1729506

ответ

0

Вам даже не нужны теги html или body .... За исключением certain situations, но вы можете поместить комментарии между ними, если хотите, но зачем вам?

0

Ничего, кроме комментариев, следует размещать там, и даже комментарии не будут иметь никакого влияния на SEO или рейтинг страниц, поскольку поисковые системы не читают комментарии. Теги сценария должны быть размещены непосредственно перед </body>, так как это ускорит загрузку страницы, но не должно идти между </body> и </html>, поскольку это действительно плохая практика и, вероятно, повредит сайт, поскольку браузер может отображать его по-другому.

Я думаю, что ваши клиенты должны неправильно читать инструкции, и вы должны, вероятно, спросить их, откуда они получили свою информацию. Многие сайты, которые просят разместить теги сценариев, будут всегда сказать до </body></html>, и они могут неправильно интерпретировать текст перед текстом.

Если вы когда-либо не уверены, пожалуйста, проверьте http://www.w3.org/ и подтвердите свой код через http://validator.w3.org/.

+1

Спасибо. В большинстве случаев эти агентства отправляют код клиентов с инструкциями. Затем они передали мне инструкции. Они очень часто настаивают на том, чтобы их код был вставлен между этими двумя закрывающими тегами. Не раньше, а буквально между ними. Они часто очень расстраиваются, когда видят, что код помещается непосредственно перед тегом закрывающего тела. – user1729506

+0

Просто убедитесь, что это будет плохой практикой, и вы делаете то, что считаете правильным. Напомните им, что вы разработчик, и вы знаете, что правильно, но будьте вежливы, как вы можете быть. Возможно, даже покажите им валидатор из W3C с одной страницей с тегами между ними и тем, где они должны быть, и объясните, что он становится недействительным. С небольшим убеждением они могут начать понимать вашу сторону. – CheckeredMichael

1

Нет опубликован HTML спецификация позволяет любые теги между </body> и </html>, потому что body элемент может появиться только в качестве последнего дочернего элемента html. Это определяется моделью содержимого элемента html.

Что именно допускается, отчасти зависит от версии HTML, но наиболее разрешающая версия в этом отношении, HTML5 CR, позволяет (по общим правилам на Content models) «Межэлементные пробелы, узлы комментариев и узлы обработки команд», ,

Если вы положили некоторые элементы между </body> и </html>, браузеры действительно рассматривают их как появляющиеся в конце элемента body. То есть они просто игнорируют тег </body>. (Если вы поместите элементы после </html> тега, браузеры так же интерпретировать их как в body. Так </html> тег не имеет никакого влияния, на самом деле.)

Ввод ничего между </body> и </html> обычно бессмысленный риск, так как браузеры может вести себя по-другому, и обычно ничто не должно мешать вам помещать свои элементы перед тегом </body>.