web-dev-qa-db-ja.com

IEで互換表示を無効にする方法

IE 8を使用しているユーザーが互換モードに移行するのをどのように停止できますか?

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

このタグを見つけました。これにより、人々はIE-8モードにとどまりますが、IE 9.があるので、あまり確信が持てず確認できません。

人々がIE 9モードにある場合、IE 8またはIE 7互換モードに入らないように強制しますか?

上記の行をコードに追加して、IE 9-> [ツール]-> [互換表示](グレー表示)に移動しようとしました

「互換表示設定」はグレー表示されておらず、そこからサイトを追加できるようです。

だからそれは無効にすべきではありませんか?

73
chobo2
<meta http-equiv="X-UA-Compatible" content="IE=8" /> 

iE8標準でページをレンダリングする必要があります。ユーザーはサイトを互換性リストに追加できますが、このタグが優先されます。

チェックする簡単な方法は、ページをロードし、次のアドレスバーを入力することです:

javascript:alert(navigator.userAgent) 

文字列にIE7が表示されている場合、互換モードで読み込まれています。それ以外の場合は読み込まれていません。

49

必要なのは、強制的にC.Mを無効にすることです。 in IE-このコードを貼り付けるだけです(IE9およびc.m.の下では無効になります)。

<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=Edge" />

ソース: http://twigstechtips.blogspot.com/2010/03/css-ie8-meta-tag-to-disable.html

91
FelixFett

これは、IEバージョンでIEユーザーに互換モードを強制的に解除するのに十分なはずです。

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

ただし、注意すべきいくつかの注意事項があります。

  • 上記のメタタグは、<head>の下の最初のタグとして含める必要があります。その上に配置できるのは<title>タグのみです。

そうしないと、IE9 Dev Toolsでエラーが発生します:X-UA-Compatible META tag ignored because document mode is already finalized.

  • このマークアップを検証する場合は、/>ではなく>metaタグを忘れずに閉じてください。

  • IE11で始まるエッジモードは、推奨されるドキュメントモードです。これをサポート/有効にするには、HTML5ドキュメントタイプ宣言<!doctype html>を使用します。

  • IE7でWebフォントをサポートする必要がある場合は、必ず<!DOCTYPE html>を使用してください。私はそれをテストしましたが、IE7でのWebフォントのレンダリングは、<!doctype html>の使用時にかなり信頼性が低いことがわかりました。

Google Chrome Frameの使用は人気がありますが、残念ながら今月の2014年1月に廃止される予定です。

<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">

広範な関連情報 ここ 。最初のメタタグとして使用する際のヒントは、前述のソース here にあります。これは更新されています。

68

ASP.NET MVCを使用している場合、_LayoutのコードブロックでResponse.AddHeader("X-UA-Compatible", "IE=Edge,chrome=1")が非常にうまく機能することがわかりました。

@Code
    Response.AddHeader("X-UA-Compatible", "IE=Edge,chrome=1")
End Code
<!DOCTYPE html>
everything else
9
Sami Lamti

FelixFettによって与えられた答えは私のために働いた。繰り返すには:

<meta http-equiv="X-UA-Compatible" content="IE=11; IE=10; IE=9; IE=8; IE=7; IE=Edge" />

コードの最初の「メタ」タグとして使用しています。 Internet Explorer用に現在公開されているバージョンである10と11を追加しました。

私は彼の答えにコメントしただけでしょうが、私は十分に高い評判を持っていません...

5
astburyj

Apacheでこれを実現する別の方法は、Webサイトのルートフォルダー(またはApacheの構成ファイル)の.htaccessに次の行を配置することです。

BrowserMatch "MSIE" isIE
BrowserMatch "Trident" isIE
Header set X-UA-Compatible "IE=Edge" env=isIE

これには、mod_headersおよびmod_setenvifモジュールを有効にする必要があります。

追加のHTTPヘッダーはIEブラウザーにのみ送信され、他のブラウザーには送信されません。

2
Simon East

JSFでは次を使用しました。

<h:head>
    <f:facet name="first">
        <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
    </f:facet>

    <!-- ... other meta tags ... -->

</h:head>
1
miso

ページにタグを追加しても、インターネットコントロールパネル([ツール]-> [オプション]を選択すると表示されるダイアログ)のUIは制御されません。 google.com、msn.com、about:blank、example.comなどのホームページを表示している場合、インターネットコントロールパネルにはページのコンテンツが何であるかを知る方法がなく、ダウンロードされません。バックグラウンドで。

MSDNのこのドキュメント をご覧ください。互換モードと、サイトでそれを無効にする方法について説明しています。

0
i_am_jorf