检测是否已安装 .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 Mobile的loading对话框显示/隐藏方法分享
Nov 26 Javascript
简单的jQuery入门指引
Jul 28 Javascript
jQuery+Ajax+PHP+Mysql实现分页显示数据实例讲解
Sep 27 Javascript
表单验证正则表达式实例代码详解
Nov 09 Javascript
jQuery组件easyui对话框实现代码
Aug 25 Javascript
JS对大量数据进行多重过滤的方法
Nov 04 Javascript
微信小程序 数组(增,删,改,查)等操作实例详解
Jan 05 Javascript
详解Vue 事件驱动和依赖追踪
Apr 22 Javascript
Vue+jquery实现表格指定列的文字收缩的示例代码
Jan 09 jQuery
angular 用Observable实现异步调用的方法
Dec 27 Javascript
vue-cli 为项目设置别名的方法
Oct 15 Javascript
vue中渲染对象中属性时显示未定义的解决
Jul 31 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
php正则表达式使用的详细介绍
2013/04/27 PHP
PHP中trait使用方法详细介绍
2017/05/21 PHP
PHP的mysqli_ssl_set()函数讲解
2019/01/23 PHP
优化网页之快速的呈现我们的网页
2007/06/29 Javascript
起点页面传值js,有空研究学习下
2010/01/25 Javascript
jQuery AJAX回调函数this指向问题
2010/02/08 Javascript
跟着Jquery API学Jquery之一 选择器
2010/04/07 Javascript
jQuery中的.bind()、.live()和.delegate()之间区别分析
2011/06/08 Javascript
jquery 设置style:display的方法
2015/01/29 Javascript
javascript实现画不相交的圆
2015/04/07 Javascript
javascript判断数组内是否重复的方法
2015/04/21 Javascript
js正则表达式最长匹配(贪婪匹配)和最短匹配(懒惰匹配)用法分析
2016/12/27 Javascript
Vue表单验证插件Vue Validator使用方法详解
2017/04/07 Javascript
Vue2.0设置全局样式(less/sass和css)
2017/11/18 Javascript
Vue 中获取当前时间并实时刷新的实现代码
2020/05/12 Javascript
浅谈使用nodejs搭建web服务器的过程
2020/07/20 NodeJs
python测试mysql写入性能完整实例
2018/01/18 Python
Django实现登录随机验证码的示例代码
2018/06/20 Python
Python实现base64编码的图片保存到本地功能示例
2018/06/22 Python
python+webdriver自动化环境搭建步骤详解
2019/06/03 Python
python 随机生成10位数密码的实现代码
2019/06/27 Python
tensorflow 利用expand_dims和squeeze扩展和压缩tensor维度方式
2020/02/07 Python
Jupyter Notebook输出矢量图实例
2020/04/14 Python
对python pandas中 inplace 参数的理解
2020/06/27 Python
Django Form设置文本框为readonly操作
2020/07/03 Python
python修改微信和支付宝步数的示例代码
2020/10/12 Python
Python 实现3种回归模型(Linear Regression,Lasso,Ridge)的示例
2020/10/15 Python
python中绕过反爬虫的方法总结
2020/11/25 Python
详解用selenium来下载小姐姐图片并保存
2021/01/26 Python
用CSS3实现无限循环的无缝滚动的实例代码
2017/07/04 HTML / CSS
前台文员的岗位职责
2013/11/14 职场文书
普通院校学生的自荐信
2013/11/27 职场文书
企业文明单位申报材料
2014/05/16 职场文书
三八活动策划方案
2014/08/17 职场文书
医院办公室主任岗位职责
2015/04/01 职场文书
小区物业管理2015年度工作总结
2015/10/22 职场文书