Javascript 为什么我的网站不能验证?
我正在通过W3CHTML验证程序()运行我的站点,尽管我遇到了一个非常奇怪的错误 这是逐字复制的错误:Javascript 为什么我的网站不能验证?,javascript,html,validation,Javascript,Html,Validation,我正在通过W3CHTML验证程序()运行我的站点,尽管我遇到了一个非常奇怪的错误 这是逐字复制的错误: Line 31, Column 29: character "&" is the first character of a delimiter but occurred as data if( pageName != "blog.html" && pageName != "blog" ) { ✉ This message may appear in several c
Line 31, Column 29: character "&" is the first character of a delimiter but occurred as data
if( pageName != "blog.html" && pageName != "blog" ) {
✉
This message may appear in several cases:
You tried to include the "<" character in your page: you should escape it as "<"
You used an unescaped ampersand "&": this may be valid in some contexts, but it is recommended to use "&", which is always safe.
Another possibility is that you forgot to close quotes in a previous tag.
第31行第29列:字符“&”是分隔符的第一个字符,但作为数据出现
如果(pageName!=“blog.html”&&pageName!=“blog”){
✉
此消息可能出现在几种情况下:
您试图包括“尝试将javascript放入CDATA块中,如下所示:
<script type="text/javascript">
<![CDATA[
// content of your Javascript goes here
]]>
</script>
这将使其通过验证。为了更加安全,您可以在CDATA标记周围添加Javascript注释,以对不理解CDATA标记的旧浏览器隐藏它们:
<script type="text/javascript">
/* <![CDATA[ */
// content of your Javascript goes here
/* ]]> */
</script>
/* */
我承认,这个答案是“借用”来的:尝试将javascript放入CDATA块中,如下所示:
<script type="text/javascript">
<![CDATA[
// content of your Javascript goes here
]]>
</script>
这将使其通过验证。为了更加安全,您可以在CDATA标记周围添加Javascript注释,以对不理解CDATA标记的旧浏览器隐藏它们:
<script type="text/javascript">
/* <![CDATA[ */
// content of your Javascript goes here
/* ]]> */
</script>
/* */
我承认,这个答案是“借用”自:这是根据XHTML进行验证造成的-XHTML作为XML,不能/不能对[script]元素进行特殊的CDATA修正
它作为HTML(4或5)有效-事实上,按照建议编码字符将破坏HTML上下文中的JavaScript
此问题可通过以下方式解决:
- 确保服务器发送HTML(非XHTML/XML)内容类型和/或
- 使用HTML doctype(例如
)或
- 显式地告诉验证器检查HTML或
- 如果源代码确实是XHTML,则编写有效的XHTML
总而言之:XHTML不是HTML。这是根据XHTML进行验证造成的-XHTML作为XML,不会/不能对[script]元素进行特殊的CDATA修改
它作为HTML(4或5)有效-事实上,按照建议编码字符将破坏HTML上下文中的JavaScript
此问题可通过以下方式解决:
- 确保服务器发送HTML(非XHTML/XML)内容类型和/或
- 使用HTML doctype(例如
)或
- 显式地告诉验证器检查HTML或
- 如果源代码确实是XHTML,则编写有效的XHTML
总而言之:XHTML不是HTML。您可能在这段代码之前的代码中有一个错误,这是您真正的错误。@johncode-我考虑过,尽管在这段代码上面引用了其他外部Javascript和CSS文档。我仔细检查了一下,它们都被称为绝对正确。您可能在co中有一个错误“在这段代码之前执行de,这是您真正的错误。@johncode-我考虑过,尽管在这段代码上面引用了其他外部Javascript和CSS文档。我已经仔细检查了,它们都被称为绝对正确。如果此答案解决了问题,请将其标记为有效的答案。如果此答案解决了问题,请将其标记为有效的答案。”他提出了一个问题,请将其标记为有效的答案。