IE8黑名单域强制非标准模式

时间:2010-06-28 10:26:42

标签: internet-explorer-8 web-standards ie8-compatibility-mode

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

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

然而,显然该页面是在“IE 8 compat view”/“IE7标准”中呈现的,这打破了布局。
环顾四周后,我发现显然IE有一个网站黑名单,强制列出的那些兼容模式 然后我检查了this blacklisted domains DB我工作的网站是否在列表中,但事实并非如此。它是一个大型网站,数据库定义似乎已经过时了,所以它可能是在去年左右添加的。

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

现在我可以做什么来制作IE8 / 7触发标准模式? 有没有办法从黑名单中删除网站?
我想我可以使用UA元,如果没有其他可用的东西,但更愿意避免添加(另一个)不必要的html元素,以使IE工作。

More information about IE8 and the compatibility blacklist

2 个答案:

答案 0 :(得分:0)

您可以使用放在HEAD标记内的以下META标记强制IE8在标准模式下渲染。我不确定这是否会覆盖本地网站上的行为,但值得一试。

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

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

编辑2:在宣布DOCTYPE之前是否有空格?我刚才有这个,这只是删除在输出DOCTYPE之前被丢弃的空白的问题。这使IE8重新进入标准模式。

Edit3:另外,检查一下这个网站上的域/ IP,检查多个URIBL http://www.myiptest.com/staticpages/index.php/check-blacklisted-domain-URIBL

答案 1 :(得分:0)

scunliffe的评论让我在正确的轨道上看到了这里的问题:IE8似乎以不同的方式处理内部网服务器,并以兼容模式显示它们。

这是scunliffe的原始评论(如果你把它写成答案,我会选择你的):

您是在外部域上测试吗?还是本地主机?或内联网服务器? - 默认情况下,IE将“内部”服务器呈现为“不太标准”的模式。请注意,除了MSFT维护的全局compat列表之外,每个用户的IE8都可以在本地列表中添加/删除站点。