Chromium版EdgeのIEモードを使用して、IE専用のイントラのWebアプリケーションを表示していると、人によって、もしくは端末によって、表示や動きに違いがありました。あるWebアプリケーションのページを表示する際、ある人のEdgeではIE11で描画されるのに対して、私のEdgeではIE7として描画されました。調べてみると、人/端末によって、互換表示するIEバージョンが異なっているようです。この動作の差異について調べてみました。
前提
本記事は、Windows10/11において、Chromium版Edgeを使用していることを前提としています。
ポイント
Chromium版EdgeのIEモードにおいて、ページ描画時に使用するIEのバージョンには、Edgeの「IEモード」とIE11の「互換表示設定」が関連する。
Edgeの「IEモード」
Edgeの「IEモード」を有効にする方法はいくつかあります。
- 一つは、Edgeのメニューから「設定など」>「Internet Explorerモードで再読み込みする」を実行する方法です。
- 別の方法としては、Edgeのメニューから「設定など」>「設定」を開き、「既定のブラウザー」で、「Internet Explorer の互換性」に設定を行う方法があります。
- また、エンタープライズサイトリストマネージャーで、対象サイトを登録する方法もあります。
Edgeの「IEモード」を有効にすると、ページの描画には、IE11のエンジンが使われます。IE11のエンジンでは、基本的にはIE11として動作しますが、IE11の「互換表示設定」が有効な場合は、IEの11~5を自動判定して動作することがあります。
エンタープライズサイトリストマネージャーでは、「互換モード」として、「既定のモード」やIE11~5を選択できます。
ちなみに、IEモードで開発者ツールを使うには、IEChooser.exeを使うことができます。実行パスは「C:\Windows\System32\F12\IEChooser.exe」です。
IE11の「互換表示設定」
IE11の「互換表示設定」が有効な場合、IEの設定やWebページの内容によって、IE11, IE7, IE5あたりを自動判定して動作することがあります。ただし、詳細な条件は煩雑そうで詳しくは調べていないです。
IE11の「互換表示設定」を参照/変更するためには、IEを起動する必要がありますが、私の環境ではスタートメニューなどにIEが表示されませんでした。その場合は、コマンドプロンプトや「ファイル名を指定して実行」から次のコマンドを実行することで、IEを起動して設定することができます。この起動方法は、下記参考サイトに載っていました。
rem IEを起動するコマンド
rem 「bing」部分は変更可能だが、何かしら記述する必要がある。
iexplore bing -embedding
上記では上手くIE起動できないこともありました。その場合は、PowerShellで次のコマンドを実行してIE起動できましt
$objIE = new-object -com InternetExplorer.Application
$objIE.visible=$true
以上のように、Edgeの「IEモード」とIE11の「互換表示設定」は、ページの描画に大きな影響を与えることが分かりました。正しく設定することで、Webアプリケーションをスムーズに表示することができます。しかし、設定が間違っている場合は、表示や動作に不具合が生じる可能性があります。