检测到IE 9兼容模式时显示警告

时间:2013-08-02 06:26:38

标签: internet-explorer internet-explorer-9 ie-developer-tools

我想在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且条件变为真。

如何解决?

如果我们在IE9兼容模式下打开它,是否有任何网站上显示此类警告?

1 个答案:

答案 0 :(得分: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");
      }
    }
  }