检测是否已安装 .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中“+=”的应用
Feb 02 Javascript
从零开始学习jQuery (八) 插播:jQuery实施方案
Feb 23 Javascript
js展开闭合效果演示代码
Jul 24 Javascript
document.write()及其输出内容的样式、位置控制
Aug 12 Javascript
js根据手机客户端浏览器类型,判断跳转官网/手机网站多个实例代码
Apr 30 Javascript
利用css+原生js制作简单的钟表
Apr 07 Javascript
jQuery实现上传图片前预览效果功能
Aug 03 jQuery
详解react-native-fs插件的使用以及遇到的坑
Sep 12 Javascript
webpack项目调试以及独立打包配置文件的方法
Feb 28 Javascript
vue项目中引入noVNC远程桌面的方法
Mar 05 Javascript
微信小程序时间标签和时间范围的联动效果
Feb 15 Javascript
微信小程序scroll-view的滚动条设置实现
Mar 02 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读取图片内容并输出到浏览器的实现代码
2013/08/08 PHP
PHP实现对文件锁进行加锁、解锁操作的方法
2017/07/04 PHP
基于PHP的微信公众号的开发流程详解
2020/08/07 PHP
由document.body和document.documentElement想到的
2009/04/13 Javascript
jQuery1.6 正式版发布并提供下载
2011/05/05 Javascript
JQuery实现用户名无刷新验证的小例子
2013/03/22 Javascript
js 获取屏幕各种宽高的方法(浏览器兼容)
2013/05/15 Javascript
使用js 设置url参数
2013/07/08 Javascript
jquery实现点击页面计算点击次数
2015/01/23 Javascript
详解javascript函数的参数
2015/11/10 Javascript
jQuery基本过滤选择器用法示例
2016/09/09 Javascript
vue-cli+webpack记事本项目创建
2017/04/01 Javascript
学习使用Bootstrap页面排版样式
2017/05/11 Javascript
JS实现获取毫秒值及转换成年月日时分秒的方法
2018/08/15 Javascript
详解从NodeJS搭建中间层再谈前后端分离
2018/11/13 NodeJs
阿望教你用vue写扫雷小游戏
2020/01/20 Javascript
[02:20]DOTA2中文配音宣传片
2013/05/22 DOTA
Python本地与全局命名空间用法实例
2015/06/16 Python
Python实现Linux命令xxd -i功能
2016/03/06 Python
利用python发送和接收邮件
2016/09/27 Python
OpenCV+python手势识别框架和实例讲解
2018/08/03 Python
python列表使用实现名字管理系统
2019/01/30 Python
python搜索包的路径的实现方法
2019/07/19 Python
Python插入Elasticsearch操作方法解析
2020/01/19 Python
Python try except finally资源回收的实现
2021/01/25 Python
HTML5新特性之type=file文件上传功能
2018/02/02 HTML / CSS
canvas裁剪clip()函数的具体使用
2018/03/01 HTML / CSS
珍惜时间演讲稿
2014/05/14 职场文书
企业党员一句话承诺
2014/05/30 职场文书
小学生竞选班干部演讲稿(5篇)
2014/09/12 职场文书
领导干部作风建设工作总结
2014/10/23 职场文书
社区灵活就业证明
2014/11/03 职场文书
初中团委工作总结
2015/08/13 职场文书
低门槛开发iOS、Android、小程序应用的前端框架详解
2021/10/16 Javascript
【海涛解说】pis亲自推荐,其实你从来不会玩NW
2022/04/01 DOTA
ConditionalOnProperty配置swagger不生效问题及解决
2022/06/14 Java/Android