我测试了我的 HTML5 webpage在 w3c 验证器上得到 errors
"Non-space characters found without seeing a doctype first. Expected <!DOCTYPE html>"
但是如您所见,我首先使用的是 doctype。我在这里找到了一个帖子 HTML validation error: Non-space characters found before DOCTYPE说一些关于 BOM 文件的事情。 我不确定我的源代码中是否可以有 BOM 文件。
有什么方法可以使用 unix 命令递归地查找给定目录的 BOM 文件吗?
是否有任何其他原因向我显示提到的错误?
更新:
根据观察者的建议,根据命令
grep -rl $'\xEF\xBB\xBF' .
来自主题 Elegant way to search for UTF-8 files with BOM?我的源代码中没有 BOM 源代码文件。所以这可能与 BOM 文件无关,一定是其他原因导致了这个错误。
最佳答案
您的页面在您的 DOCTYPE 之前确实包含字符串 Cannot detect language.
。
它似乎并不总是包含在交付给所有浏览器的 HTML 中。我刚刚用 Web (formerly Epiphany) 看到了它, 但现在它不见了。
关于php - 未先查看文档类型就找到了非空格字符。预期 <!DOCTYPE html>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25295799/