1

所以,我基本上得到了这个页面,当我通过 W3C Validator 运行它时,它没有进行验证。有谁知道为什么?

http://jsfiddle.net/BcrW9/1/

谢谢!

4

2 回答 2

3

这是你的 jquery 包含。可能是某种编码问题。从另一个站点复制代码(如脚本块)时偶尔会发生这种情况。我认为 OSX 保留了原始编码,而 Windows 将剪贴板文本转换为某种标准编码。无论如何,这行得通。我只是复制了第二个脚本标签,粘贴了它,更改了 src 值,然后删除了您从其他地方复制的那个。http://jsfiddle.net/BcrW9/2/

PS——请在评论中确认或否认您使用 OSX。这在 OSX 中一直发生在我身上。在 Windows 中从来没有遇到过这个问题。

于 2012-08-17T05:04:59.860 回答
2

真的只是扩展了 MicronXD 的答案。紧跟在<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">文本之后但在换行符之前的字符是U+200C ZERO WIDTH NON-JOINER。(我需要一个十六进制编辑器才能看到这个)。

对于 HTML5 解析器来说,这是一个普通的文本字符,所以它假定head元素已经完成并且body元素已经开始(记住结束头和开始正文标签都是可选的)所以它推断这些标签,创建正文元素和将杂散字符添加到其中。

然后验证器解析器看到结束头标记和开始主体标记并将它们报告为错误,因为解析器已经处于“In body”状态。

要消除杂散字符,只需选择并删除两个脚本行之间的字符,包括>第一个脚本行末尾的 和<第二个脚本行开头的 ,然后重新键入您需要的字符。

于 2012-08-17T07:06:26.153 回答