我在w3c验证器上测试了我的HTML5网页,出现了错误
"Non-space characters found without seeing a doctype first. Expected <!DOCTYPE html>"
但是正如你所看到的,我把doctype放在了首位。我在这里发现了一个HTML验证错误:在DOCTYPE之前发现的非空格字符表示有关BOM文件的内容。我不确定是否有BOM文件在我的源代码。
是否有任何方法如何使用unix命令递归地查找给定目录的BOM文件?
是否有其他的原因提到错误显示给我?
更新:
按照观察者的建议,根据命令
grep -rl $''xEF'xBB'xBF' .
从主题优雅的方式搜索UTF-8文件与BOM?我的源代码中没有BOM源代码文件。所以这可能不是BOM文件的问题,一定有别的东西导致这个错误。
您的页面在DOCTYPE之前确实包含字符串Cannot detect language.
。
似乎它不包含在所有浏览器的HTML中,所有的时间。我只是在Web(以前的Epiphany)上看到它,但现在它不见了。
使用Wget或cURL下载页面可能仍然会显示它(对我来说仍然如此)。