Mul*_*ner 8 html xhtml doctype internet-explorer internet-explorer-11
我的页面被编写并声明为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>
Run Code Online (Sandbox Code Playgroud)
对于XHTML 1.0严格来说,我认为这是正确的,但IE11给出了这个警告:
HTML1406: Invalid tag start: "<?". Question marks should not start tags. File: default.aspx, Line: 1, Column: 2
Run Code Online (Sandbox Code Playgroud)
任何人都知道这是否是我应该担心的事情?
Alo*_*hci 14
问题是虽然您已经使用XHTML文档text/html类型创建了一个文件,但您已使用媒体类型提供了该文件.
所以IE11(和其他浏览器)将文件视为HTML文件,并使用HTML解析器对其进行解析.HTML文件中的XML声明无效,这就是浏览器告诉您的内容.如果您使用application/xhtml+xml媒体类型为文件提供服务,则浏览器会将该文件视为XHTML并使用其XML解析器来解析它.然后根据XML规则正确处理XML声明,IE11不会给你那个警告信息.
这里没有真正的问题.HTML解析器会将声明视为虚假评论,并且无论如何都要继续.
有关更多信息,您应该阅读发送XHTML为text/html Considered Harmful和/或HTML 4,HTML 5,XHTML,MIME类型 - 权威资源