使用JavaScript检测Microsoft Internet Explorer 11的更新版本

时间:2018-10-18 12:36:11

标签: javascript internet-explorer

如何检测IE11的更新版本(例如11.0.80)?我只在主要版本中找到以下片段:

function GetIEVersion() {
  var sAgent = window.navigator.userAgent;
  var Idx = sAgent.indexOf("MSIE");

  // If IE, return version number.
  if (Idx > 0) 
    return parseInt(sAgent.substring(Idx+ 5, sAgent.indexOf(".", Idx)));

  // If IE 11 then look for Updated user agent string.
  else if (!!navigator.userAgent.match(/Trident\/7\./)) 
    return 11;

  else
    return 0; //It is not IE
}

if (GetIEVersion() > 0) 
   alert("This is IE " + GetIEVersion());
else 
   alert("This is not IE.");

背景

在我们公司中,软件部署由专门的部门处理。他们似乎对不同的IE更新版本感到困惑,从而导致某些Web应用程序出现问题。可悲的是,我们不能直接影响那些公寓,他们也没有真正看到问题所在。

要大致了解我们的员工(成千上万)使用了哪些更新版本,我想使用Matomo进行跟踪。

有可能吗?

这似乎不太可能,但也许有人有其他想法。我们的主要问题是某些东西无法在某些更新版本中使用。我想使用类似特征检测的方法,这似乎是更好的做法。可悲的是,我找不到有关IE更新版本的概述文档,这些文档向我展示了哪些更新状态可能存在,哪些没有更新状态。

我知道最好的解决方案是将每台计算机都更新到最新的更新版本,然后看看为什么目前不发生这种情况。但是,您可能知道,在较大的公司(由其他部门负责)中很难实现这一点。

1 个答案:

答案 0 :(得分:0)

我怀疑用户代理无法在IE上获得具体版本。 (仅v.11.0)正如@Alex K.所说的那样,需要创建一些自定义脚本来跟踪它们。 1)我的想法是强制将所有PC强制更新为最新版本的浏览器(可能带有安全软件包),然后您可以依靠此更新。正如您提到的那样,这也是最好的方法:)。 2)另一种方法-制作一个微型应用程序/ Windows服务,并将其安装在本地网络中的每台PC上。该应用程序将仅跟踪浏览器版本并将信息发送到您的服务器。 3)还有一件事-一种愚蠢的-要求用户检查他们的版本,并在公司主页内发送一些精美的对话框窗口。 4)尝试查找目标IE版本的特殊区别。如果有一些js更新,则可以有意地使异常发生并进行跟踪。 我只是想像。如果您无权对您的PC产生程序上的影响,那恐怕是不可能的。恕我直言。

p.s。对公司网络使用默认的Chrome。 Chrome通过UA发送具体版本