日期:2014-05-16  浏览次数:20395 次

检测是否已安装 .NET Framework
function HasRuntimeVersion(versionToCheck){
alert(versionToCheck);
alert(navigator.userAgent);
var userAgentString = navigator.userAgent.match(/.NET CLR [0-9.]+/g);
alert(userAgentString);
if (userAgentString != null){
var i;

for (i = 0; i < userAgentString.length; ++i){
if (CompareVersions(GetVersion(versionToCheck),GetVersion(userAgentString[i])) <= 0)
return true;
}
}
return false;
}

function HasRuntimeVersionBase4(versionToCheck){
var userAgentString = navigator.userAgent.match(/.NET[0-9.]+/g);
if (userAgentString != null){
var i;
for (i = 0; i < userAgentString.length; ++i){
if (CompareVersions(GetVersionBase4(versionToCheck),GetVersionBase4(userAgentString[i])) <= 0)
return true;
}
}
  
return false;
}
var dotNETRuntimeVersion = "2.0.50727";
function IsIEAndNet(){
if (HasRuntimeVersion(dotNETRuntimeVersion)){
return true;

else{
dotNETRuntimeVersion = "4.0";
if(HasRuntimeVersionBase4(dotNETRuntimeVersion)){
return true;

else{
return false;
}
}

}
这个代码是直接检测navigator.userAgent中是否包含.NET,但是我测试了下,发现只有IE浏览器的navigator.userAgent才有.NET存在,请大神指导下其他浏览器应该怎么检测的!
------解决方案--------------------
可以尝试直接在页面中嵌入一个.net程序,用JS可以获取到则表示存在该版本的.Net。否则就提示下载之类的。
具体方法请看MSDN中关于页面中嵌入.Net程序篇。