196

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

また、手動で設定しないでください。IE9はユーザー設定を記憶しており、自動に戻すことはできません(または、プライベートブラウジングやキャッシュの空化を介しても、方法がわかりません)。

ともかく。互換モードにジャンプするサイト:http
://alliancesatwar.com/guide/正しくレンダリングされるサイト:http://geuze.name/basement/(複数のハイパーリンクを投稿することはできません)

どちらも同じものを使用しdoctypeます。これらのサイトには、同じ基本テンプレート(エンコーディング、メタタグ、Doctype、同じJavaScript)を使用する多くの共通点(外観は別として)があります。

誰かが私に答えてくれたら素晴らしいです!IE7モードでレンダリングするHTML5Webサイトはかなり...ラメです。

4

8 に答える 8

263

私にとってはIE9documentModeで動作します。

明示的なdocumentModeを設定するためのヘッダー/メタがないX-UA-Compatibleと、以下に基づくモードが得られます。

  • ユーザーが以前にそのドメインの[互換表示]ボタンをクリックしたことがあるかどうか。
  • おそらく、サイト上の他のコンテンツが原因でIE8 / 9のレンダラーがクラッシュし、古いレンダラーにフォールバックしたために、これが自動的に発生したかどうかもわかります。
  • ユーザーがデフォルトですべてのサイトを互換表示にすることを選択したかどうか。
  • IEがサイトがイントラネット上にあると見なし、デフォルトで互換表示を使用するかどうか。
  • 問題のサイトが、互換表示を必要とするMicrosoft独自のWebサイトのリストに含まれているかどうか。

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

サイトの作成者として、サイトが標準に準拠していると確信している場合(他のブラウザーで適切にレンダリングされ、機能スニッフィングを使用して使用するブラウザーの回避策を決定します)、次を使用することをお勧めします。

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

またはHTTPヘッダー:

X-UA-Compatible: IE=Edge

使用中のIEバージョンに関係なく最新のレンダラーを取得します。

于 2010-09-16T12:25:33.037 に答える
33

置いた

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

後の最初のこと

<head>

(どこかで読んだのですが、思い出せません)

うまくいったなんて信じられませんでした!!

于 2011-03-17T15:41:50.743 に答える
21

IEを強制的にIE9標準モードでレンダリングするには、次を使用する必要があります

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

条件によっては、IE9が互換モードにジャンプする場合があります。デフォルトでは、これはイントラネットサイトで発生する可能性があります。

于 2010-09-16T12:00:15.657 に答える
6

このコメントを別のStackOverflowスレッドに投稿しましたが、ここで繰り返す価値があると思いました。

社内のASP.Netアプリの場合、Webページ、web.config、または分離コードに「X-UA-Compatible」タグを追加しても、まったく違いはありません。

私たちのために働いた唯一のことは、IE8でこの設定を手動でオフにすることでした:

ここに画像の説明を入力してください

(はぁ。)

この問題は、イントラネットサイトのIE8およびIE9でのみ発生するようです。外部のWebサイトは正常に機能し、正しいバージョンのIE8 / 9を使用しますが、内部のWebサイトの場合、IE9は突然実際にIE7であると判断し、HTML5をサポートしていません。

いいえ、私もこの論理を完全には理解していません。

私の気が進まない解決策は、ブラウザーがHTML 5をサポートしているかどうかをテストし(キャンバスを作成し、それが有効かどうかをテストすることによって)、有効でない場合はこのメッセージをユーザーに表示することでした。

ここに画像の説明を入力してください

これは特にユーザーフレンドリーではありませんが、ユーザーにこの煩わしい設定をオフにすることが、社内のHTML5Webアプリを適切に実行できるようにする唯一の方法のようです。

または、ユーザーにChromeを使用してもらいます。;-)

于 2014-02-13T09:27:25.127 に答える
1

http://www.HTML-5.com/index.htmlのサイトにはX-UA-Compatibleメタタグがありますが、アドレスバーの「破損したページ」アイコンで示されているように互換表示になります。IE 9(最終バージョン9.0.8112.16421)でページを標準モードでレンダリングするように強制するメニューオプションを取得するにはどうすればよいですか?破れたページのアイコンと「Alt」キーのトリックを右クリックして、Rene Geuzeが言及した追加のメニューオプションを表示しようとしましたが、機能しませんでした。

于 2011-03-18T19:33:01.917 に答える
1

最近のWebサイトは別として、ボイラープレートに従ってhtmlタグで条件付きステートメントを使用している場合、これにより、何らかの理由でie9がデフォルトで互換モードになります。ここでの修正は、条件ステートメントをhtmlタグから移動し、bodyタグに追加することです。つまり、headセクションから削除します。そうすれば、スタイルシートでこれらのクラスを使用して、古いブラウザをターゲットにすることができます。

于 2015-02-25T13:41:12.020 に答える
0

私には元気そうです:

代替テキスト

あなたはあなたがグローバルに設定をしていなかったと確信していますか?これは、Windows 7へのベータ版のクリーンインストールです。開発者ツールは、ページがデフォルトでIE9標準モードになっていることを報告しています。

于 2010-09-16T12:07:17.940 に答える
0

私は最近この問題を解決する必要がありました、そしてこれが私がしたことです:

まず第一に、このソリューションはApacheサーバーのチューニングに関するものです。

2番目の主な考えは、IE9にバグがあることです。これは、メタタグが機能しないことを意味します。このソリューションの代わりに、これを試してください。

  • httpd.confを見つけて開く
  • コメントを外す/または次の行を追加する

    LoadModule headers_module modules/mod_headers.so
    
  • 次の行を追加します

    <IfModule headers_module>
        Header set X-UA-Compatible: IE=EmulateIE8
    </IfModule>
    
  • Apacheサーバーを保存/再起動し、

  • IE9でページを参照するか、 wiresharkfiddlerなどのツールを使用するか、IE開発者ツールを使用してヘッダーがそこにあることを確認します
于 2012-11-30T14:56:13.407 に答える