application/xhtml+xml
,而是选择将页面作为text/html
提供。(这通常是因为文件扩展名.html
,一般来说,服务器确实会将application/xhtml+xml
应用于扩展名为.xhtml
或.xht
的文档,但只有真正使用文件格式的静态站点才能从中受益。)这导致浏览器决定它们接收到了一个常规的HTML文档,因此我们都知道和喜欢的那些标签乱解析问题不可避免地出现了。<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
Content-Type
标头。更糟糕的是,在XHTML全盛时期过去的几年中使用最广泛的浏览器Internet Explorer在版本9最终发布之前从未正确支持application/xhtml+xml
MIME类型:它不会解析标记,构造DOM并呈现页面,而只会要求下载文件,这使得XHTML页面无法使用!所以,你知道我们在HTML5变得流行之前都得忍受什么吗?这个问题加上IE6在doctype声明之前的XML声明上出现quirky等事情也是导致XHTML衰落的最大因素之一(加上XHTML 1.1从未获得广泛使用,XHTML 2.0被取消以支持HTML5)。大多数人使用XHTML doctype是因为在某个旧书或论坛上看到过,但他们并不知道任何技术原因而使用它。几乎没有人正确地将其作为application/xml+xhtml服务。将XHTML页面作为text/html提供意味着“标签汤”或“破碎的html”。这样做是不应该的,但浏览器通常会处理得很好。
你对此的思考是正确的。这让我疯了。
application/xhtml+xml
),大多数人实际上从未使用过它的XML部分,因为IE8及以下版本拒绝呈现内容。