Javascript实现检测客户端是否安装了.NET FrameWork
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<title>Test for NET Framework 3.0</title>
5<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
6<script type="text/javascript" language="JavaScript">
7 <!--
8//var RequiredFXVersion = "3.0.04131.06";
9var RequiredFXVersion = "1.1.4322";
10
11function window::onload()
12 {
13var foundVer = CheckRequiredFXVersion(RequiredFXVersion);
14if (foundVer != null)
15 {
16result.innerHTML = "此计算机有正确版本的 .NET Framework:" + foundVer + "."+ "<br/>"
17+ "此计算机的 userAgent 字符串为:" + navigator.userAgent + "。";
18 }
19else
20 {
21result.innerHTML = "此计算机没有正确版本的 .NET Framework。<br/>"
22+ "<a href='http://msdn.microsoft.com/windowsvista/default.aspx'>单击此处</a> "
23+ "立即获得 .NET Framework 3.0。<br/>"
24+ "此计算机的 userAgent 字符串为:" + navigator.userAgent + "。";
25 }
26 }
27
28 //
29//从用户代理字符串中检索可用版本
30//并检查它们是否与所需版本相匹配。
31 //
32function CheckRequiredFXVersion(requiredVersion)
33 {
34var userAgentString = navigator.userAgent.match(/\.NET CLR[ .][0-9.]+/g);
35if (userAgentString != null)
36 {
37var i;
38for (i = 0; i < userAgentString.length; ++i)
39 {
40var ver = userAgentString[i].slice(9);
41if (CheckVersion(requiredVersion, ver))
42return ver;
43 }
44 }
45return null;
46 }
47
48 //
49//检查某个特定版本是否为所需版本。
50 //
51function CheckVersion(requiredVersion, ver)
52 {
53requiredVersion = requiredVersion.split(".");
54ver = ver.split(".");
55
56//主要版本号必须严格匹配。
57if (requiredVersion[0] != ver[0])
58return false;
59
60//次要版本号/版号必须不低于所需版本。
61var i;
62for (i = 1; i < requiredVersion.length && i < ver.length; i++)
63 {
64if (new Number(ver[i]) < new Number(requiredVersion[i]))
65return false;
66 }
67return true;
68 }
69
70 -->
71</script>
72</head>
73<body>
74<div id="result" />
75</body>
76</html>
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<title>Test for NET Framework 3.0</title>
5<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
6<script type="text/javascript" language="JavaScript">
7 <!--
8//var RequiredFXVersion = "3.0.04131.06";
9var RequiredFXVersion = "1.1.4322";
10
11function window::onload()
12 {
13var foundVer = CheckRequiredFXVersion(RequiredFXVersion);
14if (foundVer != null)
15 {
16result.innerHTML = "此计算机有正确版本的 .NET Framework:" + foundVer + "."+ "<br/>"
17+ "此计算机的 userAgent 字符串为:" + navigator.userAgent + "。";
18 }
19else
20 {
21result.innerHTML = "此计算机没有正确版本的 .NET Framework。<br/>"
22+ "<a href='http://msdn.microsoft.com/windowsvista/default.aspx'>单击此处</a> "
23+ "立即获得 .NET Framework 3.0。<br/>"
24+ "此计算机的 userAgent 字符串为:" + navigator.userAgent + "。";
25 }
26 }
27
28 //
29//从用户代理字符串中检索可用版本
30//并检查它们是否与所需版本相匹配。
31 //
32function CheckRequiredFXVersion(requiredVersion)
33 {
34var userAgentString = navigator.userAgent.match(/\.NET CLR[ .][0-9.]+/g);
35if (userAgentString != null)
36 {
37var i;
38for (i = 0; i < userAgentString.length; ++i)
39 {
40var ver = userAgentString[i].slice(9);
41if (CheckVersion(requiredVersion, ver))
42return ver;
43 }
44 }
45return null;
46 }
47
48 //
49//检查某个特定版本是否为所需版本。
50 //
51function CheckVersion(requiredVersion, ver)
52 {
53requiredVersion = requiredVersion.split(".");
54ver = ver.split(".");
55
56//主要版本号必须严格匹配。
57if (requiredVersion[0] != ver[0])
58return false;
59
60//次要版本号/版号必须不低于所需版本。
61var i;
62for (i = 1; i < requiredVersion.length && i < ver.length; i++)
63 {
64if (new Number(ver[i]) < new Number(requiredVersion[i]))
65return false;
66 }
67return true;
68 }
69
70 -->
71</script>
72</head>
73<body>
74<div id="result" />
75</body>
76</html>