检测到Internet Explorer 11的版本低于IE9

时间:2015-07-02 14:41:11

标签: html internet-explorer

在实时实施上测试我的网站并在localhost上托管的行为彼此不同。在web版本上运行时,它会进入以下代码:

<!--[if lt IE 9]>
    <script src="js/html5shiv.js"></script>
    <script src="js/respond.min.js"></script>
    <![endif]-->

即使我正在运行IE11和

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

位于头标后面的头部。

F12仿真文档模式声称8是默认值(通过X-UA兼容的元标记),无论是否存在行。在我的本地主机上不会发生此行为,该主机是按预期运行的,而Edge是默认设置(也是声明&#39;通过X-UA兼容的元标记)。

2 个答案:

答案 0 :(得分:0)

您是如何检测版本的?您可能想要创建一个javascript函数来帮助您识别版本示例:

function getInternetExplorerVersion()
{
  var rv = -1;
  if (navigator.appName == 'Microsoft Internet Explorer')
  {
    var ua = navigator.userAgent;
    var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
    if (re.exec(ua) != null)
      rv = parseFloat( RegExp.$1 );
  }
  else if (navigator.appName == 'Netscape')
  {
    var ua = navigator.userAgent;
    var re  = new RegExp("Trident/.*rv:([0-9]{1,}[\.0-9]{0,})");
    if (re.exec(ua) != null)
      rv = parseFloat( RegExp.$1 );
  }
  return rv;
}

Reference

然后在脚本中调用版本。

答案 1 :(得分:0)

解决:

问题在于企业模式重写

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

解决此问题的方法是从开始菜单进入注册表编辑器,导航到

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\EnterpriseMode 

并删除SiteList值,从而禁用Enterpirse模式。

参考:https://msdn.microsoft.com/en-us/library/dn640688.aspx