为了处理根据web标准创作的网页和根据盛行于20世纪90年代末的旧时实践创作的网页,当代的web浏览器实现了各种不同的引擎模式。本文说明了那些模式是什么以及如何触发它们。
原文:henri sivonen的activating browser modes with doctype
本文包括的模式转换(mode switching)适用于firefox和其他基于gecko的浏览器,safari、chrome和其他基于webkit的浏览器,opera、 konqueror、mac版internet explorer、windows版internet explorer和内嵌ie的浏览器。避免提及浏览器引擎的名字,取而代之的是使用该引擎最知名浏览器的名字。
本文着重介绍模式的选择机制,而不是记录每个模式的确切行为。
以下是各种不同的模式:
text/html内容的模式选择取决于doctype嗅探(doctype sniffing,本文后面有讨论)。在ie8中,模式也取决于其他因素。然而在ie8的默认情况下,那些不在微软提供黑名单上的非局域网(non- intranet)站点的模式取决于文档类型。
再怎么强调每个浏览器中模式精确行为的不同也是不过分的,即使本文中进行了统一的讨论。
firefox、safari、chrome和opera中,application/xhtml+xml http内容类型(不是meta元素也不是doctype!)会触发xml模式。在xml模式中,浏览器尝试给xml文档在规范上的正确处理达到在制定浏览器中的程度。
e6、7和8不支持application/xhtml+xml,mac ie5也如此。
基于webkit的nokia s60 浏览器中,application/xhtml+xml http内容类型不能触发xml模式,因为在移动的围墙花园(mobile walled gardens)中关注点是对不规范内容的兼容性。(旧式的“移动浏览器”无法使用真正的xml解析器,因为不规范内容已被标记为xml。)
由于没有充分地测试konqueror,我无法确切说出在这个浏览器中会发生什么。
新闻热点
疑难解答