本文介绍如何利用JavaScript解析window.navigator.userAgent字符串来识别用户操作系统及版本。通过提取Windows NT版本号(如5.0对应Win2000,5.1对应WinXP),可针对不同系统提供适配的Media Player版本,解决旧系统如Win2000不支持新版播放器的问题。
问题背景与解决方案
在用户现场排查问题时,发现故障电脑运行的是Windows 2000操作系统。经进一步调研确认,Media Player 11并不支持该旧版系统。因此,解决方案需根据用户操作系统版本动态判断,引导Windows 2000用户下载兼容的Media Player 9。
明确问题根源后,解决步骤变得清晰。
JavaScript判断操作系统版本实现
接下来重点介绍如何使用JavaScript实现用户操作系统及其版本的判断逻辑。
核心实现依赖于以下关键属性:
window.navigator.userAgent:该属性包含用户浏览器及操作系统的详细信息,对应HTML请求头中的User-Agent字段。
具体实现代码如下:
<script language="javascript">
var ua = window.navigator.userAgent;
var osVersion = ua.split(";")[2];
var osV = osVersion.substr(osVersion.length-3,3);
switch(osV)
{
case "5.0":
document.write("Win2000");
break;
case "5.1":
document.write("WinXP");
break;
case "5.2":
document.write("Win2003");
break;
default:
document.write("Others");
break;
}
</script>
补充说明:
window.navigator.userAgent在不同环境下的取值示例如下:
1)WinXP+IE7:Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; CIBA; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
2)WinXP+FF3.0:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 (.NET CLR 3.5.30729)
3)Win2000+IE6:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
4)Win2000+FF3.1:Mozilla/5.0 (Windows; U; Windows NT 5.0; zh-CN; rv:1.9.1b2) Gecko/20081201 Firefox/3.1b2
上述取值仅供参考,旨在帮助理解代码逻辑。实际应用中,具体User-Agent值可能因浏览器版本或配置而异,建议进行实际测试验证,以实测数据为准。