web-dev-qa-db-ja.com

Internet Explorer 9でIE 9モードを使用するように強制する

X-UA-Compatibleメタタグを上部近くに持つHTML5 doctypeを使用しています。

<!DOCTYPE html>
<!--[if lt IE 7]> <html lang="en-us" class="ie6"> <![endif]-->
<!--[if IE 7]>    <html lang="en-us" class="ie7"> <![endif]-->
<!--[if IE 8]>    <html lang="en-us" class="ie8"> <![endif]-->
<!--[if gt IE 8]><!--> <html lang="en-us"> <!--<![endif]-->
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
    ...

ただし、一部のユーザーのInternet Explorer 9は、互換表示でページをレンダリングしています。 「互換表示ですべてのWebサイトを表示する」設定がオンになっているためだと思います。 IE9にIE9ブラウザとドキュメントモードを強制的に使用させる方法はありますか?

18
Johnny Oshika

解決策は、HTMLではなくHTTPヘッダーでX-UA-Compatibleを設定することであることがわかります。

 X-UA-Compatible: IE=Edge,chrome=1

これにより、[互換表示ですべてのWebサイトを表示する]がオンになっていても、Internet Explorerは最新のレンダリングエンジンを使用するようになります。

26
Johnny Oshika

Htmlの<head>でもこれを使用しています:

  <meta http-equiv="X-UA-Compatible" content="IE=9">
  <meta http-equiv="X-UA-Compatible" content="IE=Edge">
10
Matěj Polák

X-UA-COMPATIBLEメタタグは、ヘッド内の最初のタグである必要があります。そうでない場合、動作しません。この回答を参照してください: https://stackoverflow.com/a/22233206/3329906

このhttpヘッダーはすべてやり過ぎです。

5
jhiller

ウェブサイトのヘッドセクションに追加してください。

<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" />
<meta http-equiv="X-UA-Compatible" content="IE=5, IE=7, IE=8, IE=9, IE=10" />
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" />
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE10" />
3

JohnnyOが言うように、ヘッダーとして送信する必要があります。 In PHPこれを追加します(他の出力が送信される前に):

<?php header( 'X-UA-Compatible: IE=Edge,chrome=1' ); ?>

In Wordpressこれはおそらく、そのファイルの前に出力(またはエラー)がなければ、header.phpファイルの最初の行として配置する場合に最適です。動作するはずです。

ブラウザに出力されるエラーがある場合、アプリケーションに次のようなものを追加して、画面に出力せずにエラーのみをログに記録するようにしたい場合があります。

ini_set('display_errors', 0);
ini_set('log_errors', 1);

Wordpress wp-config.phpファイルの上部近くに追加できます。

WP SuperCacheまたはW3 Total Cacheのようなものでキャッシュを有効にしている場合、サイトの動作に関するすべての賭けはオフになっています。キャッシングプラグイン。

1
cwd

追加のみ

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

しましょう ;)

例えば:

<!DOCTYPE html>
<html lang="en-US" class="css3transitions"> 
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
0
Sagar Ranpise

@netzaffinが正しい-X-UA-CompatibleがHEADセクションの最初のメタタグである場合、IE9は動作します。

0
Branka Kranjac