1. ホーム
  2. internet-explorer

[解決済み】X-UA-CompatibleをIE=edgeに設定しても、互換モードが止まらない。

2022-04-01 23:55:40

質問

かなり混乱しています。私は設定することができるはずです

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

と表示され、IE8とIE9は最新のレンダリングエンジンでページを描画するはずです。しかし、今テストしてみたところ、当サイトの他の場所で互換モードがオンになっている場合、その互換モードは 弊社ページ を強制的に解除しているはずなのに。

どうやってIEが ない は、互換モードを使用していますか(イントラネットでも)?

ちなみに、私はHTML5のDocType宣言( <!doctype html> ).

以下は、ページの最初の数行です。

<!doctype html> 
<!--[if lt IE 7 ]> <html lang="en" class="innerpage no-js ie6"> <![endif]--> 
<!--[if IE 7 ]>    <html lang="en" class="innerpage no-js ie7"> <![endif]--> 
<!--[if IE 8 ]>    <html lang="en" class="innerpage no-js ie8"> <![endif]--> 
<!--[if (gte IE 9)|!(IE)]><!--> 
<html lang="en" class="innerpage no-js"> 
<!--<![endif]--> 
    <head> 
        <meta charset="ISO-8859-1" /> 
        <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 

EDIT 今知った IE8 のデフォルト設定では、イントラネットのサイトでは IE7 互換性モードを使用することになっているとのことです。これは、X-UA-Compatible meta タグを上書きするのでしょうか?

解決方法は?

イントラネットサイトでIEの互換表示設定を上書きする必要がある場合、web.config (IIS7)または、以下の方法で上書きできます。 カスタムHTTPヘッダ を設定し、X-UA-Compatibleを設定してください。 metaタグは互換表示設定でIEのイントラネット設定を上書きしませんが、ホスティングサーバーで設定すると互換性を上書きします。

IIS7 の web.config の例です。

<system.webServer>
    <httpProtocol>
      <customHeaders>
        <add name="X-UA-Compatible" value="IE=EmulateIE8" />
      </customHeaders>
    </httpProtocol>
</system.webServer>

編集 : を削除しました。 clear の直前から add コピー&ペーストの際の余計な見落としでした。 コメントいただいた方、グッドキャッチです