历史记录
Moziila的doctype嗅探代码在2000年10月、2001年9月和2002年6月有大幅度的修改。本文档描述的Mozilla(和 Netscape 6.x)建立的状态可以自2000.10.19起在ftp.mozilla.org上看到。本文档未涉及Mozilla M18(和Netscape 6.0 PR3)中的doctype嗅探的工作方式。Safari的doctype嗅探代码自第一个公开的测试版起也有大幅度的修改。本文档不包括比版本V73也叫0.9更早的行为。
Konqueror3.5之前的doctype嗅探代码似乎来自于Safari的很早的一个版本。Konqueror现在和Safari匹配,其doctype嗅探代码来自Mozilla。
从表中可见,Opera的doctype嗅探正由规律的从类似IE向类似Mozilla转变,虽然Opera9.5和9.6在倒退的路上。同时,Opera怪癖模式的布局行为已从仿效IE6的怪癖模式转换到Mozilla的怪癖模式。
附录:IE8的模式选择
- 开始:进入“X-UA-Compatible meta?” X-UA-Compatible meta? IE=7:使用IE7标准 IE=EmulateIE7: 进入“怪癖或无doctype?(兼容模式)” IE=IE8 或 IE=IE7 或 IE=a 或 IE=EmulateIE8 或没有或首先出现 script:进入”X-UA-Compatible HTTP头?” IE=8 或 IE=Edge 或 IE=99 或 IE=9.9:进入“准标准模式?” IE=5:使用怪癖模式(IE5.5) X-UA-Compatible HTTP头? IE=7:使用IE7标准模式 IE=EmulateIE7:进入“怪癖或无doctype?(兼容模式)” IE=IE8 或 IE=IE7 或 IE=a 或 IE=EmulateIE8 或没有:进入“显示所有站点…预设置?” IE=8 或 IE=Edge 或 IE=99 或 IE=9.9:进入“准标准模式?” IE=5:使用怪癖模式(IE5.5) 怪癖模式或无doctype?(兼容模式) 是:使用怪癖模式(IE5.5) 否:使用IE7标准模式 显示所有站点…预设置? 是:进入“怪癖模式或无doctype?(兼容模式)” 否:进入“显示局域网站点…预设置?” 显示局域网站点…预设置? 是:进入“站点位于局域网域?” 否:进入“域名在微软维护的名单上?” 域名在微软维护的名单上? 是:进入“怪癖模式或无doctype?(兼容模式)” 否:进入“被兼容模式页面用Frame嵌入?” 被兼容模式页面用Frame嵌入? 是:进入“怪癖模式或无doctype?(兼容模式)” 否:进入“按下了兼容模式按钮?” 按下了兼容模式按钮? 是:进入“怪癖模式或无doctype?(兼容模式)” 否:进入“怪癖模式或无doctype?(IE8)” 怪癖模式或无doctype?(IE8) 是:进入“使用怪癖模式(IE5.5)” 否:进入“准标准模式?” 准标准模式? 是:使用IE8准标准模式 否:使用IE8标准模式
这些步骤都可以通过PDF和PNG格式的流程图看到。
鸣谢
感谢Simon Pieters、Simon Pieters和Anne van Kesteren帮助我改正了各种Opera版本的模式表和他们的评论。感谢Simon Pieters制作了另一份IE8的流程图。









