我有一个.html文件工作得很好但由于某种原因Sublime 3决定它有无效代码,请检查下面的图像:
知道为什么会这样,以及如何修复它而不必修改代码?
HTML5规范说明(我的重点):
注释必须先从四个字符序列
U+003C LESS-THAN SIGN,U+0021 EXCLAMATION MARK,U+002D HYPHEN-MINUS,U+002D HYPHEN-MINUS(<!--).按照这个顺序,注释可能有文本,附加的限制是文本不能以单个>(U+003E)字符开头,也不能以U+002D HYPHEN-MINUS字符(-)后跟>(U+003E)字符开头,也不包含两个连续的
U+002D HYPHEN-MINUS字符(--),也不以一个
U+002D HYPHEN-MINUS字符(-)结尾.最后,评论必须由三个字符序列结束U+002D HYPHEN-MINUS,U+002D HYPHEN-MINUS,U+003E GREATER-THAN SIGN(-->).
这就是为什么它在抱怨.至于如何在不改变代码的情况下修复它,这更棘手.
你认为它的工作原理与C开发人员的想法完全不同,他们想知道为什么他们需要担心未定义的行为,因为他们编写的代码工作得很好.它在一个特定实现中工作正常的事实与可移植代码无关.
我的建议是实际更改代码.毕竟,这是无效的,任何浏览器(当前或未来)都完全有权拒绝它.
经过一些历史性的挖掘后,似乎不允许这样做,因为HTML所基于的SGML对评论的规则略有不同.
在感知<!--令牌时,解析器切换到评论模式,其中>在评论中实际允许字符.如果--遇到序列,它将更改为另一种模式,其中>将结束注释.
事实上,它似乎是这两种模式之间的切换,所以类似的事情<!-- >>>>> -- xyzzy -- >>>>> -->是可能的,但是放在>哪里xyzzy会结束评论.
例如,XML没有采用这种行为,HTML现在已经修改它以遵循"根本不使用--注释"规则,原因是几乎没有人知道注释表现为SGML方式,导致一些痛 :-)
| 归档时间: |
|
| 查看次数: |
95 次 |
| 最近记录: |