1. ホーム
  2. html

[解決済み] 私のホームページでIE9が互換モードに切り替わってしまうのはなぜですか?

2022-04-20 17:27:55

質問

IE9ベータ版をインストールしたところ、私が作成した特定のサイト(HTML5)において、IE9は手動で指示しない限り互換モードにジャンプしてしまうのです。ウェブサイトのいくつかの部分を削除してみましたが、変化がありません。CSSのインクルードをすべて削除することも含めて。私の他のサイトでは問題なく動作しています。

また、手動で設定するのはやめましょう。そうするとIE9がユーザーの設定を記憶してしまい、自動に戻すことができません(少なくとも私は、プライベートブラウジングやキャッシュを空にする方法さえ見つけられませんでした)。

とにかく 互換モードにジャンプするサイト。 http://alliancesatwar.com/guide/

正しくレンダリングされるもの。 http://geuze.name/basement/ (1つ以上のハイパーリンクを貼ることができません。)

どちらも同じ doctype などがあります。これらのサイトには多くの共通点があります(見た目は別として) 同じ基本テンプレート(エンコーディング、メタタグ、doctype、同じjavascript)を使っているのです。

どなたか回答していただけると幸いです。IE7モードでレンダリングするHTML5ウェブサイトはかなり...ダサいです。

どうすればいいですか?

IE9のdocumentModeで動作するようになりました。

がない場合は X-UA-Compatible ヘッダ/メタに明示的に documentMode を設定すると、それに基づいたモードが表示されます。

  • ユーザーが以前にそのドメインで'互換表示'ボタンをクリックしたかどうか。
  • おそらく、サイト上の他のコンテンツが原因で IE8/9 のレンダラーがクラッシュし、古いレンダラーにフォールバックしたために自動的に発生したものであるかどうかも考えられます。
  • ユーザーが、デフォルトですべてのサイトを互換表示にすることを選択したかどうか。
  • IE が、このサイトはイントラネット上にあると考え、互換表示にしているかどうか。
  • マイクロソフトが独自に作成した、互換表示を必要とするウェブサイトのリストに当該サイトが含まれているかどうか。

これらの設定は、IEのメニューにある「ツール -> 互換表示の設定」から変更できます。もちろん、このメニューは現在こっそり隠されているので、Altを押すまで見えません。

サイト作成者として、自分のサイトが標準に準拠している(他のブラウザでもうまく表示され、どのブラウザの回避策を使用するかを機能スニッフィングで決定する)ことに自信がある場合は、この方法を使用することをお勧めします。

<meta http-equiv="X-UA-Compatible" content="IE=Edge"/>

またはHTTPヘッダを指定します。

X-UA-Compatible: IE=Edge

で、IEのバージョンが何であれ、最新のレンダラーを取得します。