Microsoft Edge IE 模式筆記
前陣子江湖盛傳「IE 將在明年劃下句點」,眾人歡欣鼓舞之際,還有在維護企業內部站台的我卻冷汗直流,一大票 IE Only 的網站那有可能在一年內全部翻新?這個時程緩衝長度不合理呀! 經過一番調查,搞清楚其實是「明年起微軟自家的網站服務如 Office 365、Teams 將不再支援 IE,但 IE11 仍可使用,技術支援週期比照其所在的 Windows」。簡單來說,IE 在江湖上算是死了,但企業關起門來在家裡用是沒問題的。
新版 Chromium 核心的 Microsoft Edge 內建 IE 模式,可以做到用 Chromium 看一般 HTML5 網頁,在特定頁籤使用 IE 模式顯示 IE Only 網頁,取代 IE11 成為企業主要瀏覽器,但 Edge 啟用 IE 模式的前題是該主機需安裝 IE11,Microsoft Edge 需要借用 IE11 引擎顯示網頁,但好處是其相容性跟 IE11 完全相同。
IE 模式啟用時顯示如下,網址前方會出現 IE 圖示,並有警語勸你回頭是岸,快改用正常 Edge 模式 XD:
這部分還很新,參考資訊較少且有點混亂(有時易與非 Chromium 版 Edge、IE 模式實驗版混淆),而安裝設定似乎也還有優化空間,加上過去對這塊接觸較少,我摸索好一陣子才釐清細節,過程有不少收獲就是了,整理筆記如下。
- Microsoft Edge 有分四種 Channel 版本:
Stable 穩定版 每六週更新 有技術支援
Beta 測試版 每六週更新 適用於組織內部找少數人員做先期測試 有技術支援
Dev 開發版 每週更新 方便搶先測試新功能 無技術支援
Canary 金絲雀版 每天更新 完全不想等的白老鼠請用這版 無技術支援
基於更新週期不同,各 Channel 版號有落差,在今天(2020/08/25),Stable 最新為 84 版、Beta 到 85 版、Dev 為 86 版。 Microsoft Edge 官網 提供的是 Stable 版本,如果想試其他 Channel 可從 Microsoft Edge Insider Channel 或 商務用 Microsoft Edge 下載。 - 商務用 Microsoft Edge 跟一般 Microsoft Edge 有什麼不同呢?
我沒查到官方說法,只找到這篇 Reddit 討論,二者沒什麼不同,商務用 Microsoft Edge 提供更精準的版本選擇,管理原則範本,並有一些給系統管理者的資訊。我發現的另一個明顯差異是商務版 Edge 為離線安裝版,92MB 的 msi (而一般 Edge 則是 1.7MB 的網路下載安裝程式),方便企業部署到無法連接網際網路的環境。 - Microsft Edge 有個 Allow sites to be reloaded in Internet Explorer mode 選項:
設定後在「更多工具」選單可以找到「在 Internet Explorer 模式中重新載入」選項: - Edge 內建有 IE 模式診斷資訊,輸入 edge://compat/iediagnostic 可以查看各項檢查結果,方便找出 IE 模式無法使用的原因。我在這裡卡了一陣子,在 Stable 或 Dev 都遇到「嘗試啟動 IE 模式失敗」訊息,按重試鈕也無濟於事,而失敗原因指向「未在 Edge 中啟用 IE 模式設定」。
Stable 版 84.0.522.63:(還多記了一個「在 Windows 功能中啟用 Internet Explorer」關閉問題,但明明有裝 IE11)
Dev 版 86.0.608.2:
在這種狀況下,我可以用「在 Internet Explorer 模式中重新載入」切換 IE 模式,但無法使用「企業模式網站清單」(這個後面會介紹)。 - 依我實測,要解決上述問題,需下載安裝 Microsoft Edge 的群組原則管理範本。可在 Edge 商務版下載頁面 找到:
解壓縮後找到其由的 windows\admx 目錄:
將 msedge.admx 與 zh-tw\msedge.admx 複製到 C:\Windows\PolicyDefinitions 及 C:\Windows\PolicyDefinitions\zh-TW,開啟本機群組原則編輯器(gpedit.msc),找到 Administrative Templates/Microsoft Edge/Configure Internet Explorer integration:
設定 Enabled 及 IEMode:
如此,IE 模式診斷資訊看到的才會是正常的: - 我還遇到無法解除安裝的狀況,強制重設 NTFS 權限解決:
為驗證 Edge IE 模式相容性,我改寫了之前的範例,在同一個網頁測試 JavaScript、VBScript、VBSCript 事件、XML Island:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=7">
<title>IE Only Page</title>
<meta charset="utf-8" />
</head>
<body>
<button onclick="vbscript: call ButtonClick(Me.InnerText)">Test1</button>
<button onclick="vbscript: ButtonClick(Me.InnerText)">Test2</button>
<xml>
This parses as <b>HTML</b> in Internet Explorer 10 and other browsers.
In older versions of Internet Explorer it parses as XML.
</xml>
<ul id="msg">
</ul>
<script type="text/javascript">
document.getElementById('msg').innerHTML += "<li>Append by Javascript</li>";
</script>
<script type="text/vbscript">
document.all("msg").innerHTML = document.all("msg").innerHTML & "<li>Append by VBScript</li>"
Sub ButtonClick(strText)
document.all("msg").innerHTML = document.all("msg").innerHTML & "<li>" & strText & " Clicked</li>"
End Sub
</script>
</body>
</html>
使用 Edge 一般模式開啟時,看到的結果與 Chrome 相同,只有 JavaScript 部分的程式會動,XML Island 的內容被當成 HTML:
使用「在 Internet Explorer 模式中重新載入」切成 IE 模式,與 IE11 開 IE 相容模式的效果完全相同,VBScript 與 XML Island 均能完美執行:
我沒有測試 ActiveX,但依據官方文件,Microsoft Edge 的 IE 模式跑 ActiveX 是沒問題 的 (Yes,Java / Silverlight 可以繼續活下去),但沒有 F12 開發者工具可用,要偵錯 IE Only 網頁,請乖乖用 IE11。
最後花點時間介紹「企業模式網站清單」。
雖然使用者靠手動可重新以 IE 模式載入 IE Only 網頁,但既然知道哪些網站是 IE Only ,指望全靠使用者自己搞定有點恐怖,保證電話接不完。因此在企業內部最有效率的做法是維護一份列舉所有 IE Only 網站的「企業模式網站清單」供 Microsoft Edge 參考,要求 Edge 連上這些網站時自動切換成 IE 模式。「企業模式網站清單」是一份 XML 文件,較簡便的製作方法是下載 Enterprise Mode Site List Manager人工維護匯出成 XML,並在群組原則編譯器中設定。(實際應用時,多半透過網域伺服器部署到所有客戶端)
清單 XML 長得像這樣:
<site-list version="5">
<created-by>
<tool>EMIESiteListManager</tool>
<version>12.0.0.0</version>
<date-created>08/25/2020 13:41:09</date-created>
</created-by>
<site url="web.utopia.net">
<compat-mode>Default</compat-mode>
<open-in>IE11</open-in>
</site>
</site-list>
清單 XML 可放在網站或網路分享磁碟機讓所有客戶端共用,在 Edge 輸入 edge://compat/enterprise 可檢查設定:
如以上例子,當 Edge 連到 httq://web.utopia.net 網站時,便會自動切到 IE 模式。這裡再補充一個眉角,IE 會依不同區域開放功能,例如 VBScript 預設只會在內部網路或受信任區域啟用,應用時記得要一併設定好。
由以上評估,我認為在企業內部部署 Edge 當成主要瀏覽器的可行性還蠻高的,但適當時機我傾向再等一陣子,再等幾個版本讓 Edge 更成熟再考慮全部部署。我自己則已開始嘗試用 Edge 取代 Chrome + IE11,並自己維護「企業模式網站清單」,Edge 感覺比 Chrome 輕巧快速,而且不用在兩種瀏覽器間換來換去,用起來還挺開心的,未來有新的心得再報告。