如果引用或轉貼,麻煩註明出處與本網誌連結,否則視為侵權。

2013年11月21日

IE11相容性問題原因與解決方法

作者: Fred Wang (FW知識瑣記) 日期:2013/11/21

       筆者用IE10使用一些Web application時就遇到一些相容性的問題了,到IE11更嚴重。特別是有些軟體指定IE才能開,但偏偏認不到IE11

原因分析如下 :

IE11的User Agent String為
Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko

IE10的User Agent String為
"Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)  

其他IE版本的User Agent String為
http://www.useragentstring.com/pages/Internet%20Explorer/

Firefox的User Agent String為
"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0"

Chrome的User Agent String為
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13"

要注意的是IE11以前的版本的User Agent String都有"MSIE"這個字眼,獨IE11沒有,這讓網頁開發人員傻眼了,所有靠這個字眼辨認IE的web application所做的相容性設計完全失效。

除了上面的相容性問題,IE11的瀏覽器核心改掉了,增加許多安全性的限制,預設就開啟,這個因素也造成許多的web application特別是ASP, 或使用ActiveX的網頁都被擋住了。

解決方法 :
1.改掉IE11的User Agent String
    a. Win + R輸入gpedit.msc打開群組政策編輯器;
   b. 定位到計算機配置→管理模板→Internet Explorer→自定用戶代理字符串
2.開啟IE11相容性檢視
3.關閉IE11安全性限制

       不過,這些方法似乎還無法完全解決問題,或許等待IE11 fix pack,看能否修正較多的問題。
 
       當您的公司升級系統時,必然會發生問題,可以用一台電腦試裝,評估一下新版的系統會不會因為版本太新有很多的bug (很奇怪,通常奇數版本問題較多),看看網路上使用的狀況,決定是否升級,測試現有的應用系統,是否要修改或做怎樣的設定才能使用,評估要花多少力氣來升級,這樣才不會升級後雞飛狗跳地。
        不升級就沒事嗎? 這是鴕鳥心態,只是將問題延後到未來。正確地評估,有計畫地面對升級的問題,進行系統的進化,才是正道。


沒有留言:

張貼留言

歡迎提供意見, 謝謝 (註 : 留言經過版主審核通過才會發布)