用doctype激活浏览器模式(5)
作者:秦歌 来源:随网之舞 时间:2009-06-15 19:02:00
历史记录
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标准模式
鸣谢
感谢Simon Pieters、Simon Pieters和Anne van Kesteren帮助我改正了各种Opera版本的模式表和他们的评论。感谢Simon Pieters制作了另一份IE8的流程图。