检测是否已安装 .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 相关文章推荐
JavaScript转换农历类实现及调用方法
Jan 27 Javascript
jQuery插件Tooltipster实现漂亮的工具提示
Apr 12 Javascript
JavaScript中Number.MIN_VALUE属性的使用示例
Jun 04 Javascript
实例讲解JS中setTimeout()的用法
Jan 28 Javascript
深入浅析JavaScript中的作用域和上下文
Mar 26 Javascript
Bootstrap滚动监听(Scrollspy)插件详解
Apr 26 Javascript
javascript实现平滑无缝滚动
Aug 09 Javascript
JavaScript蒙板(model)功能的简单实现代码
Aug 04 Javascript
javascript 将共享属性迁移到原型中去的实现方法
Aug 31 Javascript
javascript ES6 新增了let命令使用介绍
Jul 07 Javascript
浅谈React中的元素、组件、实例和节点
Feb 27 Javascript
js前端图片加载异常兜底方案
Jun 21 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排序算法的复习和总结
2012/02/15 PHP
php 算法之实现相对路径的实例
2017/10/17 PHP
jquery validator 插件增加日期比较方法
2010/02/21 Javascript
javascript中万恶的function实例分析
2011/05/25 Javascript
用js+iframe形成页面的一种遮罩效果的具体实现
2013/12/31 Javascript
jquery操作checked属性以及disabled属性的多种方法
2014/06/20 Javascript
JavaScript生成随机字符串的方法
2015/03/19 Javascript
JavaScript实现图片轮播的方法
2015/07/31 Javascript
easyUI combobox实现联动效果
2017/01/17 Javascript
Vue2.0父子组件传递函数的教程详解
2017/10/16 Javascript
Vue+Vux项目实践完整代码
2017/11/30 Javascript
React 实现拖拽功能的示例代码
2019/01/06 Javascript
vue在自定义组件中使用v-model进行数据绑定的方法
2019/03/25 Javascript
vue-router 起步步骤详解
2019/03/26 Javascript
详解vue为什么要求组件模板只能有一个根元素
2019/07/22 Javascript
vuex 实现getter值赋值给vue组件里的data示例
2019/11/05 Javascript
超简单的微信小程序轮播图
2019/11/22 Javascript
js构造函数constructor和原型prototype原理与用法实例分析
2020/03/02 Javascript
[03:12]完美世界DOTA2联赛PWL DAY9集锦
2020/11/10 DOTA
python连接mysql实例分享
2016/10/09 Python
python中装饰器级连的使用方法示例
2017/09/29 Python
python 控制Asterisk AMI接口外呼电话的例子
2019/08/08 Python
django执行原始查询sql,并返回Dict字典例子
2020/04/01 Python
jupyter notebook 调用环境中的Keras或者pytorch教程
2020/04/14 Python
生物有机护肤品:Aurelia Probiotic Skincare
2018/01/31 全球购物
会计专业毕业生自我评价
2013/09/25 职场文书
聘用意向书范本
2014/04/01 职场文书
2015年小学开学寄语
2015/02/27 职场文书
师德承诺书2015
2015/04/28 职场文书
军训新闻稿范文
2015/07/17 职场文书
《唯一的听众》教学反思
2016/02/18 职场文书
2016年幼儿园教师师德承诺书
2016/03/25 职场文书
基于JavaScript实现省市联动效果
2021/06/22 Javascript
欧元符号 €
2022/02/17 杂记
Win11 引入 Windows 365 云操作系统,适应疫情期间混合办公模式:启动时直接登录、模
2022/04/06 数码科技
苹果发布了MagSafe固件更新,可以不外接电源实现最高7.5W充电
2022/04/21 数码科技