检测是否已安装 .NET Framework 3.5的js脚本


Posted in Javascript onFebruary 14, 2009

本主题提供一个以 HTML/JavaScript 编写的脚本,管理员可以使用该脚本来确定系统上是否存在 .NET Framework 3.5。

<HTML> 
<HEAD> 
<TITLE>Test for the .NET Framework 3.5</TITLE> 
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8" /> 
<SCRIPT LANGUAGE="JavaScript"> 
<!-- 
var dotNETRuntimeVersion = "3.5.0.0"; function window::onload() 
{ 
if (HasRuntimeVersion(dotNETRuntimeVersion)) 
{ 
result.innerText = 
"This machine has the correct version of the .NET Framework 3.5." 
} 
else 
{ 
result.innerText = 
"This machine does not have the correct version of the .NET Framework 3.5." + 
" The required version is v" + dotNETRuntimeVersion + "."; 
} 
result.innerText += "\n\nThis machine's userAgent string is: " + 
navigator.userAgent + "."; 
} 
// 
// Retrieve the version from the user agent string and 
// compare with the specified version. 
// 
function HasRuntimeVersion(versionToCheck) 
{ 
var userAgentString = 
navigator.userAgent.match(/.NET CLR [0-9.]+/g); 
if (userAgentString != null) 
{ 
var i; 
for (i = 0; i < userAgentString.length; ++i) 
{ 
if (CompareVersions(GetVersion(versionToCheck), 
GetVersion(userAgentString[i])) <= 0) 
return true; 
} 
} 
return false; 
} 
// 
// Extract the numeric part of the version string. 
// 
function GetVersion(versionString) 
{ 
var numericString = 
versionString.match(/([0-9]+)\.([0-9]+)\.([0-9]+)/i); 
return numericString.slice(1); 
} 
// 
// Compare the 2 version strings by converting them to numeric format. 
// 
function CompareVersions(version1, version2) 
{ 
for (i = 0; i < version1.length; ++i) 
{ 
var number1 = new Number(version1[i]); 
var number2 = new Number(version2[i]); 
if (number1 < number2) 
return -1; 
if (number1 > number2) 
return 1; 
} 
return 0; 
} 
--> 
</SCRIPT> 
</HEAD> 
<BODY> 
<div id="result" /> 
</BODY> 
</HTML>

如果搜索“.NET CLR”版本成功,将显示以下类型的状态消息:
This machine has the correct version of the .NET Framework 3.5.
This machine's userAgent string is: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 1.1.4322; InfoPath.2; .NET CLR 3.0.590; .NET CLR 3.5.20726; MS-RTC LM 8).
否则,显示以下类型的状态消息:
This machine does not have the correct version of the .NET Framework 3.5. The required version is v3.5.0.0.
This machine's userAgent string is: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 1.1.4322; InfoPath.2; .NET CLR 3.0.590; MS-RTC LM 8).
Javascript 相关文章推荐
学习YUI.Ext 第六天--关于树TreePanel(Part 2异步获取节点)
Mar 10 Javascript
js弹出层包含flash 不能关闭隐藏的2种处理方法
Jun 17 Javascript
js调用百度地图及调用百度地图的搜索功能
Sep 07 Javascript
JQuery日期插件datepicker的使用方法
Mar 03 Javascript
Kindeditor在线文本编辑器如何过滤HTML
Apr 14 Javascript
实现隔行换色效果的两种方式【实用】
Nov 27 Javascript
JavaScript的变量声明提升问题浅析(Hoisting)
Nov 30 Javascript
详解Sea.js中Module.exports和exports的区别
Feb 12 Javascript
原生Aajax 和jQuery Ajax 写法个人总结
Mar 24 jQuery
ES6中javascript实现函数绑定及类的事件绑定功能详解
Nov 08 Javascript
vue-cli webpack模板项目搭建及打包时路径问题的解决方法
Feb 26 Javascript
nuxt静态部署打包相对路径操作
Nov 06 Javascript
Javascript 跨域访问解决方案
Feb 14 #Javascript
JavaScript DOM 添加事件
Feb 14 #Javascript
CSS+Table图文混排中实现文本自适应图片宽度(超简单+跨所有浏览器)
Feb 14 #Javascript
JavaScript实现动态增加文件域表单
Feb 12 #Javascript
从JavaScript 到 JQuery (1)学习小结
Feb 12 #Javascript
谷歌浏览器 insertCell与appendChild的区别
Feb 12 #Javascript
js 判断 enter 事件
Feb 12 #Javascript
You might like
dedecms中显示数字验证码的修改方法
2007/03/21 PHP
php 遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码
2008/11/14 PHP
php 3行代码的分页算法(求起始页和结束页)
2009/10/21 PHP
解析将多维数组转换为支持curl提交的一维数组格式
2013/07/08 PHP
详解WordPress中简码格式标签编写的基本方法
2015/12/22 PHP
PHP静态成员变量
2017/02/14 PHP
PHP折半(二分)查找算法实例分析
2018/05/12 PHP
thinkPHP+mysql+ajax实现的仿百度一下即时搜索效果详解
2019/07/15 PHP
JS 实现Json查询的方法实例
2013/04/12 Javascript
jQuery提交多个表单的小例子
2013/06/30 Javascript
模拟多级复选框效果的jquery代码
2013/08/13 Javascript
JavaScript使用push方法添加一个元素到数组末尾用法实例
2015/04/06 Javascript
浅析函数声明和函数表达式——函数声明的声明提前
2016/05/03 Javascript
jQuery simpleModal插件的使用介绍
2016/08/30 Javascript
JS中的phototype详解
2017/02/04 Javascript
JS原型与原型链的深入理解
2017/02/15 Javascript
详谈js对url进行编码和解码(三种方式的区别)
2017/08/16 Javascript
javascript 中事件冒泡和事件捕获机制的详解
2017/09/01 Javascript
使用nodejs+express实现简单的文件上传功能
2017/12/27 NodeJs
k8s node节点重新加入master集群的实现
2021/02/22 Javascript
浅谈Python处理PDF的方法
2017/11/10 Python
Python中import机制详解
2017/11/14 Python
Python简单实现阿拉伯数字和罗马数字的互相转换功能示例
2018/04/17 Python
python调用c++ ctype list传数组或者返回数组的方法
2019/02/13 Python
使用Pycharm(Python工具)新建项目及创建Python文件的教程
2020/04/26 Python
如何基于Python爬虫爬取美团酒店信息
2020/11/03 Python
HTML5+CSS3实现机器猫
2016/10/17 HTML / CSS
博柏利美国官方网站:Burberry美国
2020/11/19 全球购物
性能测试工程师的面试题
2015/02/20 面试题
遇到的Mysql的面试题
2014/06/29 面试题
入党申请书自我鉴定
2013/10/12 职场文书
一名毕业生的自我鉴定
2013/12/04 职场文书
九一八事变演讲稿范文
2014/09/14 职场文书
作弊检讨书
2015/01/27 职场文书
Python 装饰器(decorator)常用的创建方式及解析
2022/04/24 Python
Python first-order-model实现让照片动起来
2022/06/25 Python