终于找到IE10 Browser Mode为IE10 compat View的真相
本文主题
IE10有个Compatibility lists,如果您的网站被收录其中,IE10将始终以IE10 compat View(兼容视图)的方式显示您的网页。cnblogs.com不知何故被收录,遭遇此问题。
正文内容
刚用IE10时,发现园子的一些页面显示有问题,F12打开IE10的developer tools一看,显示如下信息:
Browser Mode: IE10 compat View, Document Mode: IE7 standards
于是,根据网上的资料,在IIS的HTTP Response Headers中添加下面的设置:
Name:X-UA-Compatible, Value: IE=edge
添加之后,Document Mode变为Standards,页面显示问题解决,但Browser Mode仍为IE10 compat View。
用IE10访问Google网站,Browser Mode为正常的IE10,根据Google的html源代码,在<head>中添加下面代码:
<meta http-equiv="X-UA-Compatible" content="IE=edge">
问题依旧。。。
后来发现,同一台服务器,只要不是cnblogs.com的域名,IE10的Browser Mode就正常。
难道被IE10放进了黑名单,在网上找了找(Fix common IE problems: Update your docmode for web standards),的确有这样的黑名单(http://ie9cvlist.ie.microsoft.com/ie9CompatViewList.xml),是针对IE9的,但里面没有cnblogs。
在走投无路的时候,试了试重置IE10的所有设置(Internet Options/Advanced/Reset),然后打开IE10,出现下面的画面:
看上图中的划红线的文字,的确存在这样一个兼容性列表。问题的原因可能是这个Compatibility lists中包含cnblogs.com的域名,不管我们怎么设置,IE10始终以IE10 compat View的模式处理。如何验证这个猜测呢?在出现上图的对话框时,我们选择“Don't use recommended settings”。。。
于是(见下图中划红线的部分):
Browser Mode变为正常的IE10,果然是Compatibility lists引起的。问题的原因终于找到了,但真正要解决这个问题,需要从微软的Compatibility lists名单中移除cnblogs,目前还没找到移除的方法。
更新:
感谢曾祥展的帮助!根据曾祥展提供的信息, 发邮件到 iepo@microsoft.com 来移除,邮件包含以下信息
Owner Name
Corporate Title
Email Address
Telephone Number
Company Name
Street Address
Website Address
我们发邮件之后,收到了回复,将在 2012 年 12 月 29 日从 iecompatviewlist.xml 中移除。
IE10 兼容视图模式网站列表:http://iecvlist.microsoft.com/ie10/201206/iecompatviewlist.xml