【发布时间】:2016-04-18 20:47:40
【问题描述】:
W3C has ended support for the polyglot markup. 那么我是否必须将我的网站转换为使用常规 HTML5 而不是 XHTML?他们放弃这个概念会如何影响现有网站?我想要一个完全有效的标记,如果该代码与标准冲突,我将不得不删除它。
【问题讨论】:
-
个别语法仍然有效。您可以根据需要使用 HTML5 的 HTML 或 XHTML 语法,分别为
text/html或application/xhtml+xml。但是,鉴于所有现代浏览器都支持这两种媒体类型,因此描述如何将单个文档视为两种语法的规范确实没有用。 -
当前的 HTML 官方规范包括所有的多语言特性(void 元素中的斜线在 text/html 文档中是可选的,对于 xmlns 属性等也是如此)如此有效,这覆盖了多语言规范,使其不必要为此维护一个单独的文档。顺便说一句,我不知道您为什么认为他们放弃了 XHTML。 W3C 验证器将继续支持 XHTML 等。
-
除非您的意思是您当前将 XHTML 文件作为 text/html 提供,在这种情况下我只能挑眉。
-
实际上,是的,我确实将我的 XHTML 服务为
text/html,因为如果是application/xhtml+xml,IE8 及以下版本根本不会显示它...我可以使用 php 来检测 IE 并发送合适的header,但浏览器字符串仍然可以更改为查看者想要的任何内容,所以我认为这个解决方案不可行。 -
在这种情况下,多语言规范与您完全无关。所以是的,您应该将您的网站转换为使用常规 HTML5 而不是 XHTML。将“完全有效”的 XHTML 提供为
text/html的问题在于浏览器将其视为无效标签汤。
标签: html xhtml polyglot-markup