この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
対象:Windows 10、Chromium版Edge
Tech TIPS「Chromium版Edge内でIE専用Webページを開く『IEモード』の簡単設定法」では、新しいMicrosoft Edge(Chromium版Edgeなどと呼ばれる。以下では単に「Edge」と記す)でInternet Explorer(IE)専用ページを表示する「IEモード」をセットアップする手順を説明した。
しかし、IEでしか動作しない実際のWebアプリをIEモードで利用できるようにするには、より細かい設定や試行錯誤、トラブルシューティングが必要になることもしばしばだ。
そこで本Tech TIPSでは、前出の記事の続編として、IEモード利用時につまずきやすい点をいくつかピックアップし、その対策を説明したい。対象はWindows 10+Chromium版Edge+IEモードである。
以下では前出の記事を前提として解説している。未読の場合は先に目を通していただきたい。
クライアント側からIE専用アプリの細かい挙動を確認したりトラブルシューティングをしたりするには、IEが備える「F12開発者ツール」が欠かせない。ブラウザペインだけでは見えない内部でのエラーやHTML/CSS/スクリプトの状態、サーバとの送受信の内容などが容易に確認できるからだ。
ところがIEモードで開いたタブの場合、[F12]キーを押してF12開発者ツールを呼び出そうとしても、以下のエラーメッセージが表示され、F12開発者ツールは起動できない。
IEモードでF12開発者ツールを利用するには、「IEChooser.exe」という別のツールで、対象のタブを選択する必要がある。これはWindows 10に標準装備されていて、「%SystemRoot%\system32\F12」というフォルダに格納されている。利用方法は以下の通りだ。
起動すれば、あとはIE11のF12開発者ツールと同じ使い勝手で利用できる。
IEChooser.exeはデスクトップにショートカットを作るか、スタートメニューやタスクバーにピン留めして、素早く起動できるようにしておくとよいだろう。
IEモードのタブの描画や表示には、Windows 10上のIE11のエンジンが用いられるため、IEモードにはIE11の設定が反映される。その一方で、IEモード側で独自に設定できる項目もある。結果として、IE11とIEモードの両方にある設定項目については、それぞれの設定が矛盾してしまい、思った通りに動作しないこともある。具体的には、IEの「互換モード」がそれに該当する。
IEモードでは、Enterprise Mode Site List Managerでサイトを追加する際、[Compat Mode]という設定項目でIEの「互換モード」を指定できる。「IE11 Document Mode」「IE8 Enterprise Mode」といった、どのバージョン/動作モードのIEと互換性を取るか、という設定である。
一方、IE11にも「互換表示設定」というIEの互換モードを制御する設定項目がある。これが有効(オン)になっているサイトは、IE5またはIE7と互換性のあるモードで表示される。
この設定が「オン」かどうかは、前述のF12開発者ツールで確認するのが手っ取り早い。「オン」の場合は、[コンソール]タブに「HTML<数字>: <ドメイン名>は互換表示に追加したWebサイトです。」というメッセージが表示される。
さて、IEモードで開きたいサイトに対してIE11側の「互換表示設定」が「オン」だった場合、そのサイトの最終的な互換モードは、IEモードの「Compat Mode」とIE11の「互換表示設定」双方の影響を受ける場合がある。具体的には、筆者が調べた限りでは、下表の通りだった。
IEモードの「Compat Mode」 | IE11の「互換表示設定」 | IEの互換モード | |
---|---|---|---|
[Default Mode] | オフ | IE11 | |
[Default Mode] | オン | IE7 | |
[Default Mode]以外 | オフ | 「Compat Mode」と同じ | |
[Default Mode]以外 | オン | 「Compat Mode」と同じ | |
IEモードの「Compat Mode」とIE11の「互換表示設定」によるIEの「互換モード」 グループポリシーでIE11の互換表示に関連する設定を全く変更していない状態で調べた結果を掲載している。 |
このように「Compat Mode」を[Default Mode]に設定していると、IE11側の「互換表示設定」によってIEの互換モードが「IE11」「IE7」というように変動する。
IE11とIEモードの間では互換モードを揃えておいた方が、どちらで開いても同じ結果が得られる分、混乱せずに済む。その点では「Compat Mode」を[Default Mode]にしておくのが無難といえる。逆に、「Comat Mode」を[Default Mode]以外に設定している場合、IE11側の「互換表示設定」が「オン」だと、IEモードとIE11で同じサイト/ページの挙動が食い違う危険性があるので注意が必要だ。
IE11の「互換表示設定」が「オン」かどうかは、IE11のGUIとグループポリシーの両方で設定を確認する必要がある。
グループポリシーの場合、対象サイトは[コンピューターの構成]または[ユーザーの構成]以下に連なる[管理用テンプレート]-[Windowsコンポーネント]-[Internet Explorer]-[互換表示]-[Internet Explorer 7サイトのポリシー一覧を使用]に登録されているはずだ。ただし、グループポリシーで設定したサイトは、上記の「互換表示設定」ダイアログの「互換表示に追加したWebサイト」欄に表示されないので注意が必要だ。
IE専用ページの挙動に直接影響する設定としては、「ゾーン」が挙げられる。もしIE専用ページがデフォルトの「インターネット」ゾーンに割り当てられていると、ActiveXコントロールなどが制限されるため、正しく動作しないことがよくある。
「ゾーン」はIEモード側では設定できず、IE11の設定オプション、すなわち「インターネットオプション」で設定する必要がある。具体的には、コントロールパネルの「インターネットオプション」をクリックして起動し、要件やポリシーに応じて「ローカルイントラネット」「信頼済みサイト」のいずれかを選んで、サイトを登録する。以下の画面は、「信頼済みサイト」に割り当てる例だ。
また、グループポリシーでもゾーンは設定可能だ。
IEモードで表示中のページがどのゾーンに割り当てられているかは、まずそのページの何も表示されていないところを右クリックして、表示されるメニューで[プロパティ]を選ぶ。するとプロパティ画面が現れるので、[ゾーン]に記載されているゾーンを確認する。
IEモードで表示しようとしているIE専用Webアプリが、SSO(シングルサインオン)のように共有可能な認証システムを利用してログインを処理している場合、その認証システムのサイト(以下、「認証サイト」と略)についてはEnterprise Mode Site List Managerでちょっと特殊な設定が必要な場合がある。
認証サイトがWebアプリ本体のサイト(ドメイン)とは異なる場合、Enterprise Mode Site List Managerで認証サイトの分も追加する必要がある。その際、サイト追加ダイアログの[Open In]すなわち、どのエンジンで開くかという設定は、Webアプリを開くエンジンと揃えるのが基本だ。別のエンジンにすると、ログインの状態(ログイン中かログアウト済みか)を表すのに用いられるCookieなどの情報が認証サイトから引き継がれず、正しくログインできないからだ。
ここで困るのが、IE専用アプリとEdgeで利用する通常のWebアプリの両方で、同じ認証サイトを利用している場合だ。認証サイトの[Open In]を[IE11][MSEdge]のどちらに設定しても、以下のように正しくログインできない状況が生じてしまう。
このような場合は、認証サイトの「Open In」で[None]を選択する。するとIEモードは、そのサイトをIEモードとEdgeの両方から利用されるサイトとして認識するようになる。そして、以下のような遷移時にエンジンを変えることなく処理する。そのため、IEモードでもEdgeでもCookieなどの情報が正しく引き継がれ、ログインできるようになる。
Copyright© Digital Advantage Corp. All Rights Reserved.
Windows Server Insider 記事ランキング
編集部からのお知らせ
6月16日にフォーマット統一のため利用規約を変更します