HTML注释语法从HTML4到HTML5完全一致且兼容IE6+,但注释内禁用--;script/style内禁用HTML注释;条件注释是IE私有语法,HTML5不支持。

HTML 注释语法从 HTML4 到 HTML5 完全没变
能用,而且写法一模一样。HTML 的注释语法是 SGML 遗留下来的通用格式,并非 HTML4 或 HTML5 特有,所以 <!-- ... --> 在两者中都完全合法、被所有浏览器支持,包括 IE6+。
注释里不能出现 -- 连续两个短横线
这是最容易踩的坑:只要注释内容里出现 --(比如误写成 <!-- 这里--有问题 -->),整个注释会提前终止,后续内容可能被当成普通文本或引发解析错误。
常见错误场景:
生成可在 deepbi 沙箱 iframe 内运行或作为独立文件运行的交互式 HTML 页面,使用 `window.deepbi` JS SDK 实现数据查询、空间管理、文件浏览及用户操作。当用户提出以下需求时启用该能力: - 创建 KPI 仪表盘、数据表格、文件浏览器、成员列表、管理页面; - 明确要求“转成 dhtml”、“转译成 HTML”、“把 XX 页面转成……”、“控制台页面”、“管理后台”、“DeepBI 页面迁移”; - 提及位于 `apps/console/src/featur
- 复制粘贴带双短横的英文破折号(如 em dash —)但被误转为
-- - 在注释里写正则表达式或命令行参数(如
grep -v --invert-match)时未转义 - 用自动化工具生成 HTML 时未过滤掉源数据中的
--
HTML5 不允许注释出现在 <script></script> 或 <style></style> 内部
这不是注释语法变了,而是解析规则更严格了。在 HTML4 中,有人会这样写:
立即学习“前端免费学习笔记(深入)”;
<script>
// <!--
console.log("hello");
// -->
</script>这种“伪装成注释”的 JS 写法,在 HTML5 中已被废弃。现代浏览器仍兼容,但 <!-- 和 --> 在 <script></script> 内部不再被当作 HTML 注释处理,而是原样传给 JS 引擎——而 JS 引擎不认识

















