检测是否已安装 .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 相关文章推荐
js中cookie的使用详细分析
May 28 Javascript
js,jQuery 排序的实现代码,网页标签排序的实现,标签排序
Apr 27 Javascript
js通过googleAIP翻译PHP系统的语言配置的实现代码
Oct 17 Javascript
jQuery图片切换插件jquery.cycle.js使用示例
Jun 16 Javascript
angularjs实现与服务器交互分享
Jun 24 Javascript
JS上传图片前实现图片预览效果的方法
Mar 02 Javascript
微信小程序 点击控件后选中其它反选实例详解
Feb 21 Javascript
删除table表格行的实例讲解
Sep 21 Javascript
vue axios 给生产环境和发布环境配置不同的接口地址(推荐)
May 08 Javascript
深入浅析vue-cli@3.0 使用及配置说明
May 08 Javascript
Node.js学习之内置模块fs用法示例
Jan 22 Javascript
html中两种获取标签内的值的方法
Jun 16 jQuery
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
PHP提取中文首字母
2008/04/09 PHP
PHP把空格、换行符、中文逗号等替换成英文逗号的正则表达式
2014/05/04 PHP
PHP通过内置函数memory_get_usage()获取内存使用情况
2014/11/20 PHP
ThinkPHP中使用Ueditor富文本编辑器
2015/09/02 PHP
php简单的上传类分享
2016/05/15 PHP
PHP常用排序算法实例小结【基本排序,冒泡排序,快速排序,插入排序】
2017/02/07 PHP
php实现的错误处理封装类实例
2017/06/20 PHP
javascript[js]获取url参数的代码
2007/10/17 Javascript
javascript 二维数组的实现与应用
2010/03/16 Javascript
jQuery中读取json文件示例代码
2013/05/10 Javascript
javascript客户端遍历控件与获取父容器对象示例代码
2014/01/06 Javascript
JS的事件绑定深入认识
2014/06/26 Javascript
Jquery解析json字符串及json数组的方法
2015/05/29 Javascript
Javascript基于AJAX回调函数传递参数实例分析
2015/12/15 Javascript
深入理解JavaScript中为什么string可以拥有方法
2016/05/24 Javascript
bootstrap实现每隔5秒自动轮播效果
2016/12/20 Javascript
JS实现的表头列头固定页面功能示例
2017/01/10 Javascript
详解webpack和webpack-simple中如何引入css文件
2017/06/28 Javascript
详解Vue学习笔记入门篇之组件的内容分发(slot)
2017/07/17 Javascript
浅谈express 中间件机制及实现原理
2017/08/31 Javascript
深入浅析vue组件间事件传递
2017/12/29 Javascript
vue中Axios的封装与API接口的管理详解
2018/08/09 Javascript
详解vue-router导航守卫
2019/01/19 Javascript
[01:31:02]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第一场
2019/08/22 DOTA
Python的MongoDB模块PyMongo操作方法集锦
2016/01/05 Python
Python分支语句与循环语句应用实例分析
2019/05/07 Python
为什么从Python 3.6开始字典有序并效率更高
2019/07/15 Python
在python中用print()输出多个格式化参数的方法
2019/07/16 Python
Python 元组拆包示例(Tuple Unpacking)
2019/12/24 Python
python输出结果刷新及进度条的实现操作
2020/07/13 Python
Ray-Ban雷朋西班牙官网:全球领先的太阳眼镜品牌
2018/11/28 全球购物
编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串
2014/01/07 面试题
通用自荐信范文
2014/03/14 职场文书
工业设计毕业生自荐信
2014/04/13 职场文书
2016感恩母亲节校园广播稿
2015/12/17 职场文书
通过T-SQL语句创建游标与实现数据库加解密功能
2022/03/16 SQL Server