检测是否已安装 .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性能优化 如何更快速加载你的JavaScript页面
Mar 17 Javascript
js关于字符长度限制的问题示例探讨
Jan 24 Javascript
JS点击链接后慢慢展开隐藏着图片的方法
Feb 17 Javascript
JavaScript实现标题栏文字轮播效果代码
Oct 24 Javascript
jQuery插件实现静态HTML验证码校验
Nov 06 Javascript
JS获取当前脚本文件的绝对路径
Mar 02 Javascript
JS 实现导航菜单中的二级下拉菜单的几种方式
Oct 31 Javascript
利用Javascript实现一套自定义事件机制
Dec 14 Javascript
解决Angular2 router.navigate刷新页面的问题
Aug 31 Javascript
小程序跨页面交互的作用与方法详解
Jan 07 Javascript
微信小程序实现吸顶特效
Jan 08 Javascript
JavaScript实现滑块验证解锁
Jan 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
《雄兵连》《烈阳天道》真的来了
2020/07/13 国漫
php的memcached客户端memcached
2011/06/14 PHP
php函数间的参数传递(值传递/引用传递)
2013/09/23 PHP
php如何解决无法上传大于8M的文件问题
2014/03/10 PHP
PHP中预定义的6种接口介绍
2015/05/12 PHP
php实现用已经过去多长时间的方式显示时间
2015/06/05 PHP
php中 $$str 中 &quot;$$&quot; 的详解
2015/07/06 PHP
php mysql like 实现多关键词搜索的方法
2016/10/29 PHP
PHP实现的mysql主从数据库状态检测功能示例
2017/07/20 PHP
javascript对象的property和prototype是这样一种关系
2007/03/24 Javascript
在UpdatePanel内jquery easyui效果失效的解决方法
2010/04/11 Javascript
让低版本浏览器支持input的placeholder属性(js方法)
2013/04/03 Javascript
Nodejs实现多人同时在线移动鼠标的小游戏分享
2014/12/06 NodeJs
JQuery中serialize() 序列化
2015/03/13 Javascript
JS+CSS实现的拖动分页效果实例
2015/05/11 Javascript
浅谈javascript 函数表达式和函数声明的区别
2016/01/05 Javascript
js阻止浏览器默认行为的简单实例
2016/05/15 Javascript
jQuery ajaxSubmit 实现ajax提交表单局部刷新
2016/07/04 Javascript
基于js实现二级下拉联动
2016/12/17 Javascript
Bootstrap进度条学习使用
2017/02/09 Javascript
Bootstrap的popover(弹出框)在append后弹不出(失效)
2017/02/27 Javascript
EasyUI中的dataGrid的行内编辑
2017/06/22 Javascript
vue实现简单的MVVM框架
2018/08/05 Javascript
解决vue项目nginx部署到非根目录下刷新空白的问题
2018/09/27 Javascript
Python通过90行代码搭建一个音乐搜索工具
2015/07/29 Python
Python使用Tkinter实现滚动抽奖器效果
2020/01/06 Python
python爬虫实现获取下一页代码
2020/03/13 Python
python opencv实现简易画图板
2020/08/27 Python
CSS3 中的@keyframes介绍
2014/09/02 HTML / CSS
CSS3使用border-radius属性制作圆角
2014/12/22 HTML / CSS
戴森比利时官方网站:Dyson BE
2020/10/03 全球购物
酒店司机岗位职责
2013/12/14 职场文书
农场厂长岗位职责
2013/12/28 职场文书
《红军不怕远征难》教学反思
2014/04/14 职场文书
看看如何用Python绘制小米新版天价logo
2021/04/20 Python
sql通过日期判断年龄函数的示例代码
2021/07/16 SQL Server