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






Любой клиент должен полностью игнорировать комментарии, поэтому они не должны вызывать никаких проблем. В любом случае, если валидатор не жаловался, вероятно, все в порядке.
Я не вижу в этом проблемы - допустимые комментарии не указываются в DTD (поскольку они предназначены для людей, а не для компьютеров). Кроме того, DOM API (http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html) явно разрешает множество комментариев непосредственно под узлом документа (то есть не корневым элементом HTML, корнем логического документа), поэтому любой соответствующий браузер должен разрешать это.
Это не значит, что вы не найдете браузеров или инструментов, особенно старых, которые давят на вас. Но я был бы удивлен, если бы их было много.
Я не думаю, что комментарий после </html> вызовет какие-либо проблемы, но я считаю, что комментарий, который предшествует объявлению DOCTYPE (и, следовательно, перед тегом <html>), переведет IE6 в режим причуд.
На самом деле это влияет не только на IE6. здесь долгое обсуждение того, почему w3 не делает этот недопустимый HTML: w3.org/Bugs/Public/show_bug.cgi?id=12072
Да, конечно. Любой движок рендеринга (IN, Firefox, Opera, Safari и т. д.) Полностью игнорирует любые теги комментариев HTML, независимо от их позиции.
Технически это не так, поскольку IE анализирует комментарии на предмет условных операторов. См .: «msdn.microsoft.com/en-us/library/ms537512(VS.85).aspx
Похоже, IE больше не проблема. > Начиная с Internet Explorer 10, условные комментарии больше не поддерживаются в стандартном режиме.
У меня была SEO-компания, которая работала над сайтом клиента, решила добавить HTML-комментарий в один из моих PHP-включений, который находился за пределами HTML-тега, и это вызвало проблемы в Internet Explorer. Это вызвало множество проблем с форматированием моих выпадающих меню. Не имело смысла, почему он сломался, но это было абсолютно 100% из-за комментария. Как только комментарий был удален, все вернулось в норму.
Если вы не можете представить демонстрацию, описание следует рассматривать как ложную тревогу; проблема была вызвана чем-то другим (например, ошибкой в синтаксисе комментария, которую легко исправить).
@Eric, какая версия IE была?
Я думаю, что это полезная информация, но, возможно, более уместна в качестве комментария, чем ответа.
К вашему сведению, если вы используете AngularJS и создаете .directive, где replace истинно, комментарий за пределами корневого элемента в фрагменте HTML приведет к тому, что Angular увидит два корневых элемента и выдаст эту ошибку
Template for directive 'yourDirective' must have exactly one root element.
Я не видел, чтобы браузер жаловался на это. Ради интереса я тестировал в древней Mosaic 2.1.1 (с 1996 года !!), и даже этот очень старый браузер не жаловался.