当前位置:  开发笔记 > 编程语言 > 正文

嵌套的HTML注释是否可行?

如何解决《嵌套的HTML注释是否可行?》经验,为你挑选了5个好方法。

根据标题; 是否可以在有效的HTML中嵌套注释?看下面的例子......

some text

more commented out html

end of comment 1 -->

some more text

看来不是,有人知道如何让嵌套注释工作吗?



1> Dave Land..:

TL; DR:不幸的是,不,这是不可能的(而且永远不会).

简短回答:

HTML评论并不是很多人认为的.HTML是SGML的一种形式,其中注释由双短划线(--...  --)分隔.

因此,在开口括号( ---- >)之后带有感叹号的一对尖括号内的任何一对双短划线都是注释.该规范说它比我更好:http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.2.4

这就是为什么像这样的(这我们的意见可能做一个时间或其他)是一个主意:

真相:我太懒了,不能告诉你上面的标签污染代表了多少评论,但它至少是10.

我不那么懒惰:这个所谓的"评论"实际上由10条评论,任何评论之外的三个单词组成(即,只是糟糕的SGML),以及未终止的评论的开头.这真是一团糟:

--1----2----3----4----5--
HEADER BEGINS HERE
--6----7----8----9----10-- -->

当然,这不是简单,因为在每个浏览器选择如何解释规范的差异.

这是一篇很好的文章解释它:

    http://weblog.200ok.com.au/2008/01/dashing-into-trouble-why-html-comments.html

答案很长:为什么我们弄错了

我们大多数使用HTML长大的人(没有深入研究它的基础的SGML))已经开始相信字符串结束注释.

其实,并且>划定了SGML声明你的HTML文档中,比如我们都看到我们的页面顶部的DOCTYPE声明. SGML声明中,注释由双短划线分隔.因此,HTML评论

我们大多数人都认为解析像这样实际解析如下:
-- this is a comment -->.除了注释之外,它是一个空的SGML声明.

因为HTML是SGML的一种形式,所以这种"声明中的注释"用作HTML注释.

出于兴趣,这里有一大块纯SGML,它显示注释在SGML中的作用:这个属性列表定义包含对每一行的注释:



2> Aaron Digull..:

嵌套注释时,将" - "替换为" - - ".取消嵌套时,请反转该过程.这不是


是的,HTML和XML不允许使用这是否意味着内在评论不再是一个恰当的评论?
如果您将" - "更改为" - - ",那么它就不再是评论.这不是一个解决方案,而是一种解决方法,你也可以使用"<% - 你的评论 - %>来解决问题.

3> Sergio..:

它无法完成.-->将始终结束现有的HTML评论.


其他编程语言如LUA允许它.== [[和== [1 [是两个单独评论块的开头.我认为没有理由为什么有一天HTML不会做同样的事情.

4> Mathijs Flie..:

如果您确实对某些HTML(在某些不可控制的源中预渲染)非常感兴趣,其中包含注释,并且需要确保没有HTML呈现在您的页面上,则可以始终使用以下script标记将其包装起来,唯一的事情是,您不能以script这种方式注释掉标签。

some text

some more text



5> Dexter..:

使用template标签.阻止所有评论和其他HTML显示的最快方法.



    
    Ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.sunt in culpa qui officia deserunt mollit.

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有