检测是否已安装 .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 解析xml文件
Aug 09 Javascript
vs2003 js文件编码问题的解决方法
Mar 20 Javascript
jQuery Validation插件remote验证方式的Bug解决
Jul 01 Javascript
Jquery写一个鼠标拖动效果实现原理与代码
Dec 24 Javascript
基于jquery实现的省市区级联无ajax
Sep 24 Javascript
原生javascript实现无间缝滚动示例
Jan 28 Javascript
node.js中的fs.utimesSync方法使用说明
Dec 15 Javascript
jquery插件之文字间歇自动向上滚动效果代码
Feb 25 Javascript
JavaScript BASE64算法实现(完美解决中文乱码)
Jan 10 Javascript
实例学习JavaScript读取和写入cookie
Jan 29 Javascript
微信小程序实现点击效果
Jun 21 Javascript
Openlayers绘制聚合标注
Sep 28 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初学者最感迷茫的问题小结
2010/03/27 PHP
zend api扩展的php对象的autoload工具
2011/04/18 PHP
解析php中static,const与define的使用区别
2013/06/18 PHP
php获取字段名示例分享
2014/03/03 PHP
php.ini中的request_order推荐设置
2015/05/10 PHP
微信网页授权(OAuth2.0) PHP 源码简单实现
2016/08/29 PHP
js 数组操作代码集锦
2009/04/28 Javascript
JS URL传中文参数引发的乱码问题
2009/09/02 Javascript
Angular的自定义指令以及实例
2016/12/26 Javascript
javascript 中的继承实例详解
2017/05/05 Javascript
Angular中$state.go页面跳转并传递参数的方法
2017/05/09 Javascript
Vue自定义指令详解
2017/07/28 Javascript
vue.js路由跳转详解
2017/08/28 Javascript
详解IWinter 一个路由转控制器的 Nodejs 库
2017/11/15 NodeJs
通过 JS 判断页面是否有滚动条的实现方法
2018/04/05 Javascript
vuex 项目结构目录及一些简单配置介绍
2018/04/08 Javascript
JavaScript实现正则去除a标签并保留内容的方法【测试可用】
2018/07/18 Javascript
vue移动端下拉刷新和上拉加载的实现代码
2018/09/08 Javascript
对angularJs中2种自定义服务的实例讲解
2018/09/30 Javascript
javascript使用canvas实现饼状图效果
2020/09/08 Javascript
使用Typescript开发微信小程序的步骤详解
2021/01/12 Javascript
[02:53]DOTA2英雄昆卡基础教程
2013/11/25 DOTA
python实现问号表达式(?)的方法
2013/11/27 Python
Python获取当前函数名称方法实例分享
2018/01/18 Python
python读取dicom图像示例(SimpleITK和dicom包实现)
2020/01/16 Python
使用Puppeteer爬取微信文章的实现
2020/02/11 Python
pandas和spark dataframe互相转换实例详解
2020/02/18 Python
利用scikitlearn画ROC曲线实例
2020/07/02 Python
html5 input元素新特性_动力节点Java学院整理
2017/07/06 HTML / CSS
Html5剪切板功能的实现代码
2018/06/29 HTML / CSS
利用canvas实现图片下载功能来实现浏览器兼容问题
2019/05/31 HTML / CSS
实习生体会的自我评价范文
2013/11/28 职场文书
2015年采购员工作总结
2015/04/27 职场文书
2016年父亲节寄语
2015/12/04 职场文书
浅谈JavaScript浅拷贝和深拷贝
2021/11/07 Javascript
Tomcat项目启动失败的原因和解决办法
2022/04/20 Servers