检测是否已安装 .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 相关文章推荐
Jquery Ajax学习实例5 向WebService发出请求,返回泛型集合数据的异步调用
Mar 17 Javascript
js实现杯子倒水问题自动求解程序
Mar 25 Javascript
JavaScript格式化日期时间的方法和自定义格式化函数示例
Apr 04 Javascript
js触发select onchange事件的小技巧
Aug 05 Javascript
使用纯JS代码判断字符串中有多少汉字的实现方法(超简单实用)
Nov 12 Javascript
js读取本地文件的实例
Dec 22 Javascript
Vue 创建组件的两种方法小结(必看)
Feb 23 Javascript
axios 处理 302 状态码的解决方法
Apr 10 Javascript
微信小程序 swiper 组件遇到的问题及解决方法
May 26 Javascript
JS插件amCharts实现绘制柱形图默认显示数值功能示例
Nov 26 Javascript
vue-cli 关闭热更新操作
Sep 18 Javascript
vue 在服务器端直接修改请求的接口地址
Dec 19 Vue.js
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实现Ftp用户的在线管理的代码
2007/03/06 PHP
查找php配置文件php.ini所在路径的二种方法
2014/05/26 PHP
将二维数组转为一维数组的2种方法
2014/05/26 PHP
yii添删改查实例
2015/11/16 PHP
php加密之discuz内容经典加密方式实例详解
2017/02/04 PHP
PHP数组常用函数实例小结
2018/08/20 PHP
PHP常见加密函数用法示例【crypt与md5】
2019/01/27 PHP
javascript 动态设置已知select的option的value值的代码
2009/12/16 Javascript
JS限制上传图片大小不使用控件在本地实现
2012/12/19 Javascript
js显示时间 js显示最后修改时间
2013/01/02 Javascript
向左滚动文字 js代码效果
2013/08/17 Javascript
jquery中filter方法用法实例分析
2015/02/06 Javascript
jQuery插件FusionCharts绘制ScrollColumn2D图效果示例【附demo源码下载】
2017/03/22 jQuery
基于JavaScript实现验证码功能
2017/04/01 Javascript
Vue 换肤的示例实践
2018/01/23 Javascript
vue使用jsonp抓取qq音乐数据的方法
2018/06/21 Javascript
JavaScript实现美化滑块效果
2019/05/17 Javascript
node.js express框架实现文件上传与下载功能实例详解
2019/10/15 Javascript
node创建Vue项目步骤详解
2020/03/06 Javascript
微信小程序自定义纯净模态框(弹出框)的实例代码
2020/03/09 Javascript
jQuery实现简单QQ聊天框
2020/08/27 jQuery
跟老齐学Python之再深点,更懂list
2014/09/20 Python
实例讲解python中的协程
2018/10/08 Python
解决每次打开pycharm直接进入项目的问题
2018/10/28 Python
python从子线程中获得返回值的方法
2019/01/30 Python
使用Dajngo 通过代码添加xadmin用户和权限(组)
2020/07/03 Python
Python 忽略文件名编码的方法
2020/08/01 Python
HTML5中判断横屏竖屏的方法(移动端)
2016/08/04 HTML / CSS
在网上学习全世界最好的课程:Coursera
2017/11/07 全球购物
低碳生活倡议书
2014/04/14 职场文书
村党支部书记承诺书
2014/05/29 职场文书
安全责任书怎么写
2014/07/28 职场文书
2014年党员自我评议(5篇)
2014/09/12 职场文书
海上钢琴师的观后感
2015/06/11 职场文书
导游词之徐州-云龙山
2019/09/29 职场文书
mysql5.6主从搭建以及不同步问题详解
2021/12/04 MySQL