1

IE9 で互換モードを検出し、ユーザーに警告メッセージを表示したいと考えています。

私の互換表示設定は「すべてのウェブサイトを互換モードで表示する」です。しかし、それでもこの条件は IE9 には当てはまりません。

if(navigator.userAgent.indexOf("MSIE 7.0") > 0 && navigator.userAgent.indexOf("Trident/5.0") > 0).

F12 オプションから、IE 9 互換モードであることを確認できます。navigator.userAgent を印刷すると、MSIE 9.0 が表示されます。

しかし、F12 オプションから、互換モードから通常モード、次に互換モードに変更すると、userAget に MSIE 7.0 があり、条件が true になることがわかります。

どうすれば解決できますか?

インターネット上に IE9 互換モードで開くとこのような警告が表示される Web サイトはありますか?

4

1 に答える 1

0

XPath API、ユーザー エージェントの部分文字列、およびウィンドウ プロパティのテストを組み合わせて使用​​して、IE9 互換モードを識別します。

//IE XPath API
if (!!window.XPathEvaluator === false && !!window.XPathExpression === false)
  {
  //Compatibility Mode
  if(/compatible/.test(navigator.userAgent) )
    {
    //IE9 innerWidth property exists, but IE10 matchMedia property does not
    if(!!window.innerWidth && !window.matchMedia)
      {
      alert("IE9 compatibility mode");
      }
    }
  }
于 2013-08-27T00:15:13.163 に答える