2012年8月15日 星期三

瀏覽器文件模式使用舊版問題


使用jQuery超級魚選單(Superfish menu)選單, 點選了超連結之後沒有反應
F12鍵叫出開發者模式,發現IE8的瀏覽器模式為IE8相容性檢視





文件模式為IE7標準

會造成文件模式變成IE7標準,是因為開發的網站中,部份MasterPage裡的head指定了
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
,而使用者曾經瀏覽過有此Html Element的頁面
然後又到其他沒有此Html Element畫面,造成即使有些頁面沒加以上的Html Element使用者還是沿用IE7文件模式在瀏覽網頁


※不然預設若沒有加以上那段Element,瀏覽器模式和文件模式應該都會自行使用最新版本
回公司後,把每個MasterPage
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
改成
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
沒加這段的也加一加,就解決了文件模式使用舊版問題

但以上的動作只是強制用戶端IE的文件模式使用最新版本
網頁畫面在已加入
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
此段情況下,用戶IE的瀏覽器模式仍然會使用IE8相容性檢視



解決辦法:
使用者IE的選項 工具>相容性檢視設定
※另外提一下,如果網頁有指定<meta http-equiv="X-UA-Compatible" content="IE=edge" />的話,相容性檢視選項按鈕會變灰色無法點選,如下








※若全部移除就能確保用戶瀏覽自己開發的網站時,是使用最新版的瀏覽器模式、文件模式



另外,如果網頁沒有加上<meta http-equiv="X-UA-Compatible" />Element的話
以奇摩為例,IE上方會出現相容性檢視按鈕















也可以打勾以下(相容性檢視選項)





這樣的話
相容性檢視設定會加入該網站

會造成瀏覽器模式、文件模式都使用舊的版本





網頁如果加入以下
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
這段的話,使用者則沒辦法點選相容性檢視按




相關文獻內容可參考以下連結
IE Team Blog



沒有留言:

張貼留言