前陣子江湖盛傳「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 模式實驗版混淆),而安裝設定似乎也還有優化空間,加上過去對這塊接觸較少,我摸索好一陣子才釐清細節,過程有不少收獲就是了,整理筆記如下。

  1. 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 下載。
  2. 商務用 Microsoft Edge 跟一般 Microsoft Edge 有什麼不同呢?
    我沒查到官方說法,只找到這篇 Reddit 討論,二者沒什麼不同,商務用 Microsoft Edge 提供更精準的版本選擇,管理原則範本,並有一些給系統管理者的資訊。我發現的另一個明顯差異是商務版 Edge 為離線安裝版,92MB 的 msi (而一般 Edge 則是 1.7MB 的網路下載安裝程式),方便企業部署到無法連接網際網路的環境。
  3. Microsft Edge 有個 Allow sites to be reloaded in Internet Explorer mode 選項:

    設定後在「更多工具」選單可以找到「在 Internet Explorer 模式中重新載入」選項:
  4. 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 模式,但無法使用「企業模式網站清單」(這個後面會介紹)。
  5. 依我實測,要解決上述問題,需下載安裝 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 模式診斷資訊看到的才會是正常的:
  6. 我還遇到無法解除安裝的狀況,強制重設 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 輕巧快速,而且不用在兩種瀏覽器間換來換去,用起來還挺開心的,未來有新的心得再報告。

【延伸閱讀】

Introduction to Microsft Edge IE Mode.


Comments

# by Steven

感謝大大資訊提供! 既詳細又專業,幫了大忙!!

# by Test

Better drop ie

# by 艾里克斯

感謝黑大詳細說明, 另, 大家都明白放棄 ie 是最好的選擇, 無奈身在企業, 有成千上萬揮不去的舊 code 呀...

# by Momoze

我有一個盲點,最前面提到要使用IE Mode版本前提是要裝IE,如果都已經可以安裝IE,直接就用IE開啟網站就好了,為什麼還要用Edge啟用IE Mode再開啟網站?

# by Jeffrey

to Momoze, 概念是把 Edge 當成萬用瀏覽器,看一般網站用 Chromium 核心享受效率及相容性,遇到企業內部 IE Only 網站再自動切到 IE Mode。IE 未來連微軟自家的 Office、Hotmail 都開不了,用一用還要換個瀏覽器,更費事。

# by odami

這篇受益良多, 架設也成功了 我們辦公室的新系統開始開發的時候是可以跨瀏覽器用 但是舊系統就只能用 IE 當使用者用 chrome (企業版) / edge 去開啟企業網站的系統時,瀏覽器就會針對需要用IE的系統自己帶IE出來 或是內嵌在 edge 裡面 不過 企業版 chrome 的 lbs 還摸不熟,基本上和 edge 是類似的東西,會搞到和 edge 互搶設定 囧

# by Davy Chung

我目前的Edge版本是87.0.664.66,我在實驗(edge://flags/)裡面找不到Enable IE Integration選項,再設定>預設瀏覽器(edge://settings/defaultBrowser)裡面也找不到允許在 Internet Explorer 模式中重新載入網站,有下載設定這篇所說的群組原則,但透過相容性診斷(edge://compat/iediagnostic)仍然是「失敗 (未在 Edge 中啟用 Internet Explorer 模式設定)」,不知道如何使用IE模式....

# by bkk99213

to Davy Chung, 我都有同樣的問題,但我是在WIN7下才發生這情況,不知道有沒有關係。

# by Yeh

最低版本與OS需求: IE mode: https://docs.microsoft.com/en-us/deployedge/edge-ie-mode site list: https://docs.microsoft.com/en-us/deployedge/edge-ie-mode-local-site-list

# by hsiao

想請問 網域目前預設使用Edge 及其IE mode,若日後停用IE後,是否會影響 Edge IE mode 的使用呢?

# by Jeffrey

to hsiao,我不太懂「停用 IE」的意思。

# by hsiao

就是公司由GCB將iexplore.exe 強制無法使用後,不確定是否會影響Edge IE mode的使用

# by Jeffrey

to hsiao, 依我的理解,Edge 需要 IE 核心元件才能運轉 IE 模式,若 GCB 封鎖的是 iexplore.exe,如此只是 IE11 不能跑,應該還是可以用 Edge IE Mode。但如果它連 IE 相關程式庫都擋了,就會有問題。以上純屬公堂之上假設一下,還是要以實測為準。

# by hsiao

謝謝您的見解

# by Warren

感謝Jeffrey大大,這篇受益良多,但想再請教一下,當我參考你的設定達到EDGE的IE ONLY模式時,發現二個問題 1、Internet Explorer 模式診斷資訊下看到跟你的不一樣,是不是哪個動作有誤呢? 群組原則設置 開啟 使用企業模式 IE 網站清單 (IE 原則) file:///C:/IE11.xml 設定 [企業模式網站清單] (Edge 原則) 未設定 2、當IE ONLY下的ActiveX要去呼叫列印時,卻叫出IE11來預覽列印,我們是用IE裡的Crystal Reports Print Control 12.0來做Crystal Report列印,不懂為何WINDOWS10下的EDGE還是會去呼叫IE11來列印(理應繼續用EDGE裡的IE ONLY再開才對....), 但如果停用了程式與功能裡的INTERNET EXPLORER 11就連IE ONLY也沒法子使用了 想請教Jeffrey大大有沒有什麼方向可以建議的?

# by Warren

承上題,我已解決Q2的問題,可以用EDGE開了,但卻還是不能列印... 會跳"CertID驗證失敗,無法開啟報表!!" @@

# by sam

試看看設定這個原則 InternetExplorerIntegrationSiteRedirect,使網頁跳轉時始終保持在IE模式

# by Kenny

請問在企業內部是否可以透過AD的群組原則來派送這些設定呢?!

# by Jeffrey

to Kenny, 我對這塊沒什麼研究,但透過群組原則設定客戶端電腦是很常見的網域管理情境 https://docs.microsoft.com/en-us/windows-server/networking/branchcache/deploy/use-group-policy-to-configure-domain-member-client-computers

# by Hung Yang

今天測試發現WIN7作業系統電腦使用edge的IE模式是有瑕疵的,登入IE7的古蹟網站後使用者會再次被登出,但是改用WIN10的電腦就無此問題了。

# by 小麥

Edge 的 IE mode 還是可以叫出開發人員工具 只是沒辦法用 F12 叫出 要到命令列執行某個檔案才行 %systemroot%\system32\f12\IEChooser.exe https://docs.microsoft.com/zh-tw/deployedge/edge-ie-mode-faq http://jdev.tw/blog/6798/edge-92-updates-iechooser

# by Mike

想詢問一下 設定完成後 重開edge都需要手動更新一次企業模式網站清單 不會自動抓 不知道為甚麼

# by daniel

----------------------------------------------------------------- 想詢問一下 設定完成後 重開edge都需要手動更新一次企業模式網站清單 不會自動抓 不知道為甚麼 ----------------------------------------------------------- 登錄檔不是要設定?

Post a comment