[ASP.net] 確保IE瀏覽器的瀏覽器模式、文件模式都是使用最新版本

[ASP.net] 確保IE瀏覽器的瀏覽器模式、文件模式都是使用最新版本

今早出差到客戶那邊解決的問題,紀錄一下

 

因為本人開發的網站有用到jQuery超級魚選單(Superfish menu)

每個選單項目都是超連結,客戶說明 點選了超連結之後沒有反應

到現場用F12鍵叫出開發者模式,發現客戶IE8的瀏覽器模式為IE8相容性檢視

image

文件模式為IE7標準

image

會造成文件模式變成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" />的話,相容性檢視選項按鈕會變灰色無法點選,如下

image

image

※其實應該只要移除自己的網站就好,但當時人在公司用電話和客戶溝通,為了省事就請客戶全部移除

如此一來,就能確保用戶瀏覽自己開發的網站時,是使用最新版的瀏覽器模式、文件模式

 

 

 

另外,玩了一下,發現如果網頁沒有加上<meta http-equiv="X-UA-Compatible" />此Element的話

以奇摩為例,IE上方會出現相容性檢視按鈕

image

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

image

這樣的話

相容性檢視設定會加入該網站

image

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

image

 

網頁如果加入以下

<meta http-equiv="X-UA-Compatible" content="IE=edge" />

這段的話,使用者則沒辦法點選相容性檢視按鈕

 

 

其他網友文章:

關於IE9文件模式切換的簡單測試 by黑暗執行緒

了解網站中的 HTML 和 CSS - 是不是用 HTML 5 就可以跨不同的瀏覽器?

[ASP.NET]瀏覽器模式、文件模式 by NO.18

 

MSDN討論:多了一行空白