代码片段 → JavaScript → 防止嵌入式 JavaScript 导致验证失败 防止嵌入式 JavaScript 导致验证失败 Chris Coyier 于 2009 年 10 月 14 日 您是否曾经在 JavaScript 中看到 CDATA 内容并想知道它的用途?它是为了防止验证器将代码读取为标记并导致验证失败。例如,在 JavaScript 中,虽然使用 & 和大于/小于符号 (< >) 是完全可以的,但它们通常会导致验证失败。 <script type="text/javascript"> //<![CDATA[ alert("<This is compatible with XHTML>"); //]]> </script>
CDATA 是我的好朋友 :)
我一直以为这是针对旧浏览器,现在才知道它的实际含义。
我之前也有过这种疑问,然后用 Google 搜索找到了答案。
谢谢!我一直想知道。现在我就会用它了!
我确实想知道!我也很喜欢这个网站的新外观。我有一段时间没来过这里了,它完全变了样!
=),感谢 Chris 的提示…我之前遇到过这个问题好几次(不是因为 js 中的标记而导致 xhtml 验证失败,而是因为添加到 js 中的硬编码元素)…我只是把代码放到一个外部 .js 文件中,错误就消失了,但我现在知道下次该怎么办了!
我认为这个代码片段有点误导。使用“验证”一词让人感觉标记块为 CDATA 只有在你“希望页面通过验证”时才有用。而在这种情况下,验证实际上意味着“如果你希望页面正确渲染”。
这对我说来真是一个令人抓狂的时刻。不久前我遇到了完全相同的问题,嵌入式 JavaScript 导致了大量的验证错误。
我最终把它移到了一个外部 .js 文件中,这样效果更好,但下次我就知道该怎么做了!谢谢 Chris!