IE11でエンタープライズモードが有効にならない

Microsoft Windows 8.1 最新版 [Windows 8.1 Update 適用済みパッケージ]

はじめに

IE11は、Windows8.1で標準搭載されている最新ブラウザです。

業務でIE8からIE11への移行を進めているんですが、その際にエンタープライズモードという下位互換モードを使う事になりました。

Windows Insider用語解説:IE8との互換性を向上させるIE11のエンタープライズモード - @IT

 

が、なぜかポップアップウィンドウのみエンタープライズモードが効かない!

 

もしかして、ポップアップウィンドウは非推奨なのか、やっぱり自前で直すしかないのか、と諦めかけたところ、実は設定ミスでちゃんと動作していなかっただけでした。

 

途中で諦めずに粘っていると、時には楽な方の道が開ける事があるよ、というのが今回のお話。

 

結論

サイトリストにはドメインとパスを別々のタグで記載する。

 

 

経緯

今までIE8で動かしていたWEBアプリをIE11に移行したところ、「レイアウト崩れ」やら「ボタンが効かない」といった問題が多発!

 

調べてみると、不具合はMicrosoftの提供資料(PDF)とも一致しており、エンタープライズモードで回避できるらしい。

移行のポイントと非互換事例 - MSDN Blogs

 

ちなみにエンタープライズモードは、ブラウザのツールメニューからページ単位で有効にできるが、サイトリストを作成すればドメイン単位で有効にできる。

エンタープライズ モードを有効にしてサイト一覧を使う

 

が、やり方に従ってレジストリとサイトリストを作成しても、なぜかポップアップウィンドウのみエンタープライズモードが効かない!

IEを再起動しても、PCをシャットダウンしても、全く有効にならない!

 

試しに、Microsoftの提供資料(PDF)の記載の通り、HTMLのmetaタグを直したところ、「レイアウト崩れ」は解消する事を確認。

 

もうこの方法しかないのかと諦めかけたが、やっぱり直したくない(楽したい)と考え、もう一度サイトリストの設定方法を確認してみる。

ファイルと Enterprise Mode Site List Manager を使ってエンタープライズ モードのサイト一覧に複数のサイトを追加する

 

すると、パスの指定が違うことを発見!

私の書き方だと、

          <domain exclude="true">news.msn.com/pop-culture</domain>

一方、MSDNによると、

          <domain exclude="true">news.msn.com
               <path exclude="false">pop-culture</path>
          </domain>

どうやらパスはドメインに含めてはダメらしい。

 

サイトリストのパスの指定を修正したところ、無事ポップアップウィンドウでもエンタープライズモードが有効になる事を確認。めでたしめでたし。

 

まとめ

ちなみにIE11にはエンタープライズモードとは別に、互換表示設定もあります。

[互換表示] ボタンが見当たらない

 

エンタープライズモードはIE8、互換表示設定はIE5との互換性があるようですね。

ただ、今後はサポートされなくなっていくでしょうから、なるべく早目にIE11の標準モード(エッジモード)に対応した方が良さそうです。