我在符合标准的页面上对IE 8进行了一些测试,并具有严格的Doctype:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

但是,显然,该页面正在“ IE 8 compat视图”/“ IE7标准”中渲染,该标准正在打破布局。
环顾四周后,我发现IE显然有一个网站黑名单,迫使列出的人兼容兼容模式。
然后我检查了 这个黑名单的域DB 如果我正在研究的网站在列表中,但事实并非如此。这是一个大型站点,数据库定义似乎已经过时了,因此可能是在过去一年左右的时间内添加。

测试另一个域上完全相同的页面触发IE8的标准模式,这表明它确实已被黑名单。

我现在该怎么做才能使IE8/7触发标准模式?
有什么方法可以从黑名单中删除网站?
我想如果没有其他可用的话,我可以使用ua meta,但宁愿避免添加(另一个)不必要的HTML元素,而量身定制的只是为了使IE工作。

有关IE8和兼容性黑名单的更多信息

有帮助吗?

解决方案 2

Scunliffe的评论使我对这里的问题似乎是正确的:IE8似乎以不同的方式处理Intranet服务器,并以兼容模式显示它们。

这是Scunliffe的原始评论(如果您将其写为答案,我会选择您的):

您在外部域上测试吗?还是地方主机?还是Intranet服务器? - IE默认情况下,“内部”服务器的“内部”服务器。请注意,除了MSFT维护的全局兼容列表外,每个用户的IE8还可以从本地列表中添加/删除站点。

其他提示

您可以通过使用以下元标记(放置在头标签内)来强制IE8在标准模式下渲染。我不确定这是否覆盖了本地站点上的行为,但值得一试。

<meta http-equiv="x-ua-compatible" content="IE=8">

编辑:对不起,我没有看到您提到UA Metas-我猜这个答案有点多余。

编辑2:在宣布Doctype之前是否有任何白色空间?我前一段时间就这样做了,这只是一个删除空格的问题,在摄入医生之前就被抛弃了。这将IE8击回了标准模式。

EDIT3:另外,请检查您在此站点上的域/IP,检查多个URIBL http://www.myiptest.com/staticpages/index.php/check-blacklisted-domain-uribl

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top