检测是否已安装 .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中toFixed()方法引起的问题如何解决
Nov 20 Javascript
JS 添加网页桌面快捷方式的代码详细整理
Dec 27 Javascript
javascript表格隔行变色加鼠标移入移出及点击效果的方法
Apr 10 Javascript
js实现添加可信站点、修改activex安全设置,禁用弹出窗口阻止程序
Aug 17 Javascript
详解JS对象封装的常用方式
Dec 30 Javascript
打造通用的匀速运动框架(实例讲解)
Oct 17 Javascript
Vue服务器渲染Nuxt学习笔记
Jan 31 Javascript
基于vue实现可搜索下拉框定制组件
Mar 26 Javascript
Vue实现购物车的全选、单选、显示商品价格代码实例
May 06 Javascript
Vue中通过Vue.extend动态创建实例的方法
Aug 13 Javascript
JS实现简易计算器
Feb 14 Javascript
vue 避免变量赋值后双向绑定的操作
Nov 07 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
DC动画电影《黑暗正义联盟》曝预告 5月5日上线数字平台
2020/04/09 欧美动漫
用Php编写注册后Email激活验证的实例代码
2013/03/11 PHP
php实现监听事件
2013/11/06 PHP
PHP+memcache实现消息队列案例分享
2014/05/21 PHP
php中this关键字用法分析
2016/12/07 PHP
php中对象引用和复制实例分析
2019/08/14 PHP
javascript 文档的编码问题解决
2009/03/01 Javascript
javascript 一段左右两边随屏滚动的代码
2009/06/18 Javascript
javascript call方法使用说明
2010/01/11 Javascript
Javascript 自适应高度的Tab选项卡
2011/04/05 Javascript
Jquery实现网页跳转或用命令打开指定网页的解决方法
2013/07/09 Javascript
gridpanel动态加载数据的实例代码
2013/07/18 Javascript
js实现弹窗插件功能实例代码分享
2013/12/12 Javascript
JQuery中使用on方法绑定hover事件实例
2014/12/09 Javascript
详解angularJS+Ionic移动端图片上传的解决办法
2017/09/13 Javascript
Vue CLI3中使用compass normalize的方法
2019/05/30 Javascript
vue3中轻松实现switch功能组件的全过程
2021/01/07 Vue.js
[29:23]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第一场1
2014/05/23 DOTA
Python使用urllib2模块实现断点续传下载的方法
2015/06/17 Python
Python中绑定与未绑定的类方法用法分析
2016/04/29 Python
Python学习之Django的管理界面代码示例
2018/02/10 Python
python3.6.3+opencv3.3.0实现动态人脸捕获
2018/05/25 Python
python使用matplotlib画柱状图、散点图
2019/03/18 Python
Python、 Pycharm、Django安装详细教程(图文)
2019/04/12 Python
解决pyinstaller 打包exe文件太大,用pipenv 缩小exe的问题
2020/07/13 Python
AmazeUI中各种的导航式菜单与解决方法
2020/08/19 HTML / CSS
AmazeUI折叠式卡片布局,整合内容列表、表格组件实现
2020/08/20 HTML / CSS
红领巾心向党广播稿
2014/01/19 职场文书
会计学生自我鉴定
2014/02/06 职场文书
态度决定一切演讲稿
2014/05/20 职场文书
解除财产保全担保书
2014/05/20 职场文书
银行柜员求职自荐书
2014/06/18 职场文书
教师学习八项规定六项禁令思想汇报
2014/09/27 职场文书
列车乘务员工作不细心检讨书
2014/10/07 职场文书
申论不会写怎么办?教您掌握这6点思维和原则
2019/07/17 职场文书
ORACLE中dbms_output.put_line输出问题的解决过程
2022/06/28 Oracle