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";
9
var RequiredFXVersion = "1.1.4322";
10
11
function window::onload()
12
{
13
var foundVer = CheckRequiredFXVersion(RequiredFXVersion);
14
if (foundVer != null)
15
{
16
result.innerHTML = "此计算机有正确版本的 .NET Framework:" + foundVer + "."+ "<br/>"
17
+ "此计算机的 userAgent 字符串为:" + navigator.userAgent + "。";
18
}
19
else
20
{
21
result.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
//
32
function CheckRequiredFXVersion(requiredVersion)
33
{
34
var userAgentString = navigator.userAgent.match(/\.NET CLR[ .][0-9.]+/g);
35
if (userAgentString != null)
36
{
37
var i;
38
for (i = 0; i < userAgentString.length; ++i)
39
{
40
var ver = userAgentString[i].slice(9);
41
if (CheckVersion(requiredVersion, ver))
42
return ver;
43
}
44
}
45
return null;
46
}
47
48
//
49
//检查某个特定版本是否为所需版本。
50
//
51
function CheckVersion(requiredVersion, ver)
52
{
53
requiredVersion = requiredVersion.split(".");
54
ver = ver.split(".");
55
56
//主要版本号必须严格匹配。
57
if (requiredVersion[0] != ver[0])
58
return false;
59
60
//次要版本号/版号必须不低于所需版本。
61
var i;
62
for (i = 1; i < requiredVersion.length && i < ver.length; i++)
63
{
64
if (new Number(ver[i]) < new Number(requiredVersion[i]))
65
return false;
66
}
67
return true;
68
}
69
70
-->
71
</script>
72
</head>
73
<body>
74
<div id="result" />
75
</body>
76
</html>

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76
