检测是否已安装 .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程序篇。