检测是否已安装 .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()方法的重写实现精度的统一
Mar 06 Javascript
理解javascript异步编程
Jan 27 Javascript
Highcharts入门之基本属性
Aug 02 Javascript
BootStrap按钮标签及基本样式
Nov 23 Javascript
浅析javaScript中的浅拷贝和深拷贝
Feb 15 Javascript
node.js利用redis数据库缓存数据的方法
Mar 01 Javascript
取消Bootstrap的dropdown-menu点击默认关闭事件方法
Aug 10 Javascript
vuejs 制作背景淡入淡出切换动画的实例
Sep 01 Javascript
关于layui导航栏不展示下拉列表的解决方法
Sep 25 Javascript
一看就会的vuex实现登录验证(附案例)
Jan 09 Javascript
JS实现放烟花效果
Mar 10 Javascript
深入分析JavaScript 事件循环(Event Loop)
Jun 19 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
《魔兽争霸3》重制版究竟重制了什么?玩家:这么糊弄真的好吗?
2020/05/04 魔兽争霸
PHP SPL标准库之SplFixedArray使用实例
2015/05/12 PHP
php 在字符串指定位置插入新字符的简单实现
2016/06/28 PHP
深入研究PHP中的preg_replace和代码执行
2018/08/15 PHP
Extjs入门之动态加载树代码
2010/04/09 Javascript
基于JQuery的浮动DIV显示提示信息并自动隐藏
2011/02/11 Javascript
通过jquery的$.getJSON做一个跨域ajax请求试验
2011/05/03 Javascript
仿谷歌主页js动画效果实现代码
2013/07/14 Javascript
GridView中获取被点击行中的DropDownList和TextBox中的值
2013/07/18 Javascript
JavaScript定时器详解及实例
2013/08/01 Javascript
Nodejs之TCP服务端与客户端聊天程序详解
2017/07/07 NodeJs
vuex 的简单使用
2018/03/22 Javascript
一些可能会用到的Node.js面试题
2019/06/15 Javascript
解决layui使用layui-icon出现默认图标的问题
2019/09/11 Javascript
Python中input和raw_input的一点区别
2014/10/21 Python
详解Python操作RabbitMQ服务器消息队列的远程结果返回
2016/06/30 Python
详解 Python 与文件对象共事的实例
2017/09/11 Python
Python使用文件锁实现进程间同步功能【基于fcntl模块】
2017/10/16 Python
Python 调用 zabbix api的方法示例
2019/01/06 Python
解决python Markdown模块乱码的问题
2019/02/14 Python
pycharm配置git(图文教程)
2019/08/16 Python
使用Python获取当前工作目录和执行命令的位置
2020/03/09 Python
Python中常见的数制转换有哪些
2020/05/27 Python
python如何输出反斜杠
2020/06/18 Python
Python 常用日期处理 -- calendar 与 dateutil 模块的使用
2020/09/02 Python
丝芙兰美国官网:SEPHORA美国
2016/08/03 全球购物
美国女性卫生用品公司:Thinx
2017/06/30 全球购物
自动化职业生涯规划书范文
2014/01/03 职场文书
计算机应届毕业生自荐信范文
2014/02/23 职场文书
生产部厂长助理职位说明书
2014/03/03 职场文书
岗位职责说明书模板
2014/07/30 职场文书
信用卡工作证明模板
2014/09/14 职场文书
高中生思想道德自我评价
2015/03/09 职场文书
优秀大学生申请书
2019/06/24 职场文书
SqlServer 垂直分表(减少程序改动)
2021/04/16 SQL Server
Python入门之基础语法详解
2021/05/11 Python