我正在开发一个页面,当我加载到IE8并查看开发人员工具时,它告诉我页面默认是怪癖模式。
我有严格的DTD:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
我甚至继续进行明确的标准转换,但我认为我不需要:
<meta http-equiv="X-UA-Compatible" content="IE=8" />
我无法理解为什么页面默认不是IE8标准?
我唯一能想到的是,要访问此页面,我首先必须登录到应用程序,我必须遍历的第一个页面是旧的怪癖模式页面。 IE是否决定在服务器级别使用哪种模式,还是应该逐页决定?
谢谢!
答案 0 :(得分:22)
IE是否决定在服务器级别使用哪种模式
一般情况下,不是。有compatibility view list的丑陋,这是特定于网站的,但只会让你回到IE7风格的标准模式,而不是IE5.5风格的Quirks-Mode。
您的代码看起来不错,只要该DOCTYPE是页面上的第一件事。如果在doctype之前有注释,PI,XML声明(在IE8之前)或任何非空白文本内容,IE将被强制为document.compatMode= 'BackCompat'
。如果一个控制角色偷偷摸摸,你无法在文本编辑器中看到,那就可以了。
示例问题页面?