提问人:Muleskinner 提问时间:11/22/2013 最后编辑:Ganesh JadhavMuleskinner 更新时间:2/25/2014 访问量:5928
为什么 IE11 会发出以下警告:HTML1406:无效的标记开始:“<?
Why does IE11 give this warning: HTML1406: Invalid tag start: "<?"
问:
我的页面被编写并声明为 XHTML 1.0 Strict。第一行是这样的:
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
我认为这对于 XHTML 1.0 Strict 是正确的,但 IE11 仍然给出了这个警告:
HTML1406: Invalid tag start: "<?". Question marks should not start tags. File: default.aspx, Line: 1, Column: 2
有谁知道这是否是我应该担心的事情?
答:
14赞
Alohci
11/23/2013
#1
问题在于,尽管您已经创建了一个带有 XHTML 文档类型的文件,但您已经使用媒体类型来提供它。text/html
因此,IE11(和其他浏览器)将文件视为 HTML 文件,并使用其 HTML 解析器对其进行解析。HTML 文件中的 XML 声明是无效的,这就是浏览器告诉你的。如果使用媒体类型提供文件,浏览器会将该文件视为 XHTML,并使用其 XML 解析器来解析它。然后,将根据 XML 规则正确处理 XML 声明,并且 IE11 不会向您提供该警告消息。application/xhtml+xml
这里没有真正的问题。HTML 解析器会将声明视为虚假注释,无论如何都会继续。
有关更多信息,您应该阅读将 XHTML 作为文本/html 发送被认为有害和/或 HTML 4、HTML 5、XHTML、MIME 类型 - 权威资源
0赞
Serj Sagan
2/25/2014
#2
如果你来到这里是因为你正在开发一个旧的(呃)应用程序/网站......尝试打开...这对我有用ASP.NET
Web Forms
Compatibility View
评论