本文主題
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