1

我有一个网页需要检测用户计算机上是否安装了 .NET。我并不特别关心安装的 .NET 版本。检测是通过 Javascript 完成的。各种谷歌搜索指向在用户代理字符串中寻找“.NET CLR”。这适用于几乎所有 OS/IE/.NET 组合。今天我发现一个它不起作用。

在 Windows XP SP3、IE 8 和 .NET 4.0 下,我得到以下用户代理:

User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET4.0C; .NET4.0E)

在我简单地添加对“.NET4.0”之类的检查之前,我想确认这是我应该为上面的浏览器/OS/.NET 组合获取的正确用户代理字符串。该用户代理字符串看起来正确吗?在考虑其他 Windows OS/IE/.NET 组合时,我应该寻找任何其他 .NET 标识符吗?

谢谢。

4

1 回答 1

0

NET CLR 确实是您应该寻找的。您也可以在代码内部的任何时候通过 javascript 检查它:

 if ((navigator.userAgent.indexOf(".NET CLR")>-1)) 
  alert ("CLR available " +navigator.userAgent);
 else
  alert(".NET SDK/Runtime is not available for us from within " + <BR>           "your web browser or your web browser is not supported." + <BR>           " Please check with http://msdn.microsoft.com/net/ for " + <BR>           "appropriate .NET runtime for your machine.");

如此处所示:检测 .net 可用性 小心强硬,用户代理可以修改。即使强硬,您的普通用户也很可能不会

于 2012-10-11T20:57:55.630 回答