我的页面被编写并声明为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严格是正确的但是IE11给出了这个警告:
HTML1406: Invalid tag start: "<?". Question marks should not start tags. File: default.aspx, Line: 1, Column: 2
任何人都知道这是否是我应该担心的事情?
答案 0 :(得分:13)
问题在于,虽然您创建了一个包含XHTML文档类型的文件,但您已使用text/html
媒体类型提供了该文件。
因此,IE11(以及其他浏览器)将该文件视为HTML文件,并使用其HTML解析器进行解析。 HTML文件中的XML声明无效,这就是浏览器告诉您的内容。如果您使用application/xhtml+xml
媒体类型为文件提供服务,则浏览器会将该文件视为XHTML并使用其XML解析器来解析它。然后根据XML规则正确处理XML声明,IE11不会给你那个警告信息。
这里没有真正的问题。 HTML解析器会将声明视为bogus comment,并且无论如何都会继续。
有关详细信息,请阅读Sending XHTML as text/html Considered Harmful和/或HTML 4, HTML 5, XHTML, MIME types - the definitive resource
答案 1 :(得分:0)
如果你来到这里是因为你正在开发一个旧的(呃)ASP.NET
Web Forms
应用/网站...尝试打开Compatibility View
...那对我有用< / p>