先日、新しくインストールしたVista SP2+IE8でこのサイトを開くと微妙に表示がおかしいことに気付く。どうやらドキュメントモードが「Internet Explorer 7 (ページの規定)」となっていて、IE7のレンダリングモードで表示されているようだ。
IE7を特別指定した覚えはないのに??と思って調べると、IE8の互換表示設定リストに「xrea.com」が含まれているのがわかり。さらに、互換表示設定の「マイクロソフトからの更新された Web サイト一覧を含める」にチェックが入っていると「Internet Explorer 7 (ページの規定)」になるらしい。
何故「xrea.com」がリストに含まれているんだ~という謎は置いておいて、勝手に互換表示されても困るので何とかしようとさらに調べると以下のページにたどり着いた。
- Japan IE Support Team Blog : IE8互換モードについて
- Windows 開発統括部 Blog : IE8 の互換表示について
- Internet Explorer 8 の標準準拠 – Windows 7 対応アプリケーションの互換性
ふむふむ、ドキュメントモードを指定してあげるにはMETAタグまたはHTTPレスポンスヘッダに「X-UA-Compatible」を追加すればいいのか。
METAタグを使用するとテーマ毎に追加する必要があり面倒なので、WordPressのプラグインを作成してHTTPレスポンスヘッダに追加することにした。
ということでIE Compatible Headerを作成。
IE8のドキュメントモードを指定するWordPressプラグイン IE Compatible Header
このプラグインの動作はFirefoxのFirebugやSafariのWebインスペクタ等で、ページのレスポンスヘッダに「X-UA-Compatible」が含まれているかどうかで確認できる。