检测是否已安装 .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 学习笔记(六)
Dec 31 Javascript
jquery 日期分离成年月日的代码
May 14 Javascript
jQuery中:enabled选择器用法实例
Jan 04 Javascript
chrome不支持form.submit的解决方案
Apr 28 Javascript
Javascript中的数据类型之旅
Oct 18 Javascript
Web打印解决方案之证件套打的实现思路
Aug 29 Javascript
JavaScript用构造函数如何获取变量的类型名
Dec 23 Javascript
谈谈JavaScript数组常用方法总结
Jan 24 Javascript
JS仿淘宝搜索框用户输入事件的实现
Jun 19 Javascript
微信小程序 textarea 层级过高问题简单解决方案
Oct 14 Javascript
Vue的状态管理vuex使用方法详解
Feb 05 Javascript
Vue双向绑定实现原理与方法详解
May 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
phpphp图片采集后按原路径保存图片示例
2014/02/18 PHP
PHP获取文件夹大小函数用法实例
2015/07/01 PHP
PHP面向对象类型约束用法分析
2019/06/12 PHP
php+websocket 实现的聊天室功能详解
2020/05/27 PHP
麻雀虽小五脏俱全 Dojo自定义控件应用
2010/09/04 Javascript
JavaScript打印iframe内容示例代码
2013/08/20 Javascript
jquery实现触发时更新下拉列表内容的方法
2015/12/02 Javascript
Bootstrap教程JS插件弹出框学习笔记分享
2016/05/17 Javascript
浅谈jquery中next与siblings的区别
2016/10/27 Javascript
Bootstrap CSS组件之导航(nav)
2016/12/17 Javascript
vue.js实现简单轮播图效果
2017/10/10 Javascript
JS获取input[file]的值并显示在页面的实现方法
2018/03/09 Javascript
使用Angular CLI从蓝本生成代码详解
2018/03/24 Javascript
vue中子组件向父组件传递数据的实例代码(实现加减功能)
2018/04/20 Javascript
微信小程序使用map组件实现获取定位城市天气或者指定城市天气数据功能
2019/01/22 Javascript
解决vue打包后刷新页面报错:Unexpected token
2019/08/27 Javascript
如何利用Node.js与JSON搭建简单的动态服务器
2020/06/16 Javascript
vue实现标签云效果的示例
2020/11/09 Javascript
举例详解Python中yield生成器的用法
2015/08/05 Python
python基础之包的导入和__init__.py的介绍
2018/01/08 Python
selenium python浏览器多窗口处理代码示例
2018/01/15 Python
python将txt等文件中的数据读为numpy数组的方法
2018/12/22 Python
Python3爬虫之自动查询天气并实现语音播报
2019/02/21 Python
python变量命名的7条建议
2019/07/04 Python
在python中创建指定大小的多维数组方式
2019/11/28 Python
python 画函数曲线示例
2019/12/04 Python
4款Python 类型检查工具,你选择哪个呢?
2020/10/30 Python
python 读取串口数据的示例
2020/11/09 Python
HTML5本地存储之Database Storage应用介绍
2013/01/06 HTML / CSS
三只松鼠官方旗舰店:全网坚果销售第1
2017/11/25 全球购物
自1926年以来就为冰岛保持温暖:66°North
2020/11/27 全球购物
全球性的众包图形设计市场:DesignCrowd
2021/02/02 全球购物
Java面向对象面试题
2016/12/26 面试题
软件工程专业推荐信
2013/10/28 职场文书
小学英语教师先进事迹
2014/05/28 职场文书
找规律教学反思
2016/02/23 职场文书