将HTML注释放在标签之外是否可以?

时间:2008-12-13 21:57:55

标签: html

W3c验证器没有对我这么做,但是我很好奇是否有其他人对html标签之外的html注释有意见?

...
</body>
</html>
<!-- byee -->

我有一个应用程序并输出一些数据,并希望它是完成的绝对最后一件事,不幸的是这意味着我已经附加了我的最后一个&lt; / html&gt;。

6 个答案:

答案 0 :(得分:17)

我看不出这是一个问题 - 在DTD中没有指定允许的注释(因为它们对人类有效,而不是计算机)。此外,DOM API(http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html)明确允许直接在文档节点下的许多注释(即不是根HTML元素,逻辑文档根),因此任何符合标准的浏览器都应允许它。

这并不是说您不会发现阻塞的浏览器或工具,尤其是旧版本。但如果有很多人,我会感到惊讶。

答案 1 :(得分:13)

我不认为&lt; / html&gt;之后的评论会导致任何问题,但我相信在DOCTYPE声明之前(因此在&lt; html&gt;标记之前)的注释会使IE6进入怪癖模式。

答案 2 :(得分:1)

仅供参考,如果你使用AngularJS并创建.directive,其中replace为真,则HTML片段中根元素之外的注释将导致Angular看到两个根元素并抛出此错误< / p>

Template for directive 'yourDirective' must have exactly one root element.

答案 3 :(得分:1)

任何客户都应该完全忽略评论,因此不应该导致任何问题。无论如何,如果验证者没有抱怨它可能没问题。

答案 4 :(得分:0)

我有一家SEO公司正在客户的网站上工作,决定在HTML标签之外的PHP包含中添加HTML注释,这会导致Internet Explorer出现问题。我的下拉菜单导致了一堆格式化问题。它没有意义,为什么它破了,但绝对100%由评论引起。评论一删除,一切都恢复正常。

答案 5 :(得分:-1)

一定是的。无论哪个位置,任何渲染引擎(IE,Firefix,Opera,Safari等)都将完全忽略任何HTML注释标记。