利用Javascript判断操作系统的类型

本文介绍如何利用JavaScript来判断不同的操作系统,如Windows、Mac、Linux和Unix,并提供了更精确识别Windows的方法。同时,文章还提及了检测浏览器对XML支持的代码。此外,给出了一个小贴士,建议在CSS中避免使用固定行高,而是使用em单位以适应不同操作系统和浏览器的文字大小变化,防止文字截断问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下边的代码实现对Windows、Mac、Linux、Unix擦作系统的判断:

<script type="text/javascript" language="JavaScript">
<!--
function check_os() {
	windows = (navigator.userAgent.indexOf("Windows",0) != -1)?1:0;
	mac = (navigator.userAgent.indexOf("mac",0) != -1)?1:0;
	linux = (navigator.userAgent.indexOf("Linux",0) != -1)?1:0;
	unix = (navigator.userAgent.indexOf("X11",0) != -1)?1:0;
 
	if (windows) os_type = "MS Windows";
	else if (mac) os_type = "Apple mac";
	else if (linux) os_type = "Lunix";
	else if (unix) os_type = "Unix";
 
	return os_type;
}
//-->
</script>

如果我们需要对Windows操作系统进行更为精确的识别,可以继续使用下边的代码操作:

<script type="text/javascript" language="JavaScript">
<!--
    var isWin = (navigator.platform == "Win32") || (navigator.platform == "Windows"); // 确保为windows系统
    var isWin98 = isWin2000 = isWinXP = false;
    var sUserAgent = navigator.userAgent;
    if(isWin) {
        isWin98=sUserAgent.indexOf("Win98") > -1 || sUserAgent.indexOf("Windows 98") > -1; // win98
        isWin2000=sUserAgent.indexOf("Windows NT 5.0") > -1 || sUserAgent.indexOf("Windows 2000") > -1; //win2000
        isWinXP=sUserAgent.indexOf("Windows NT 5.1") > -1 || sUserAgent.indexOf("Windows Xp") > -1; //winxp
 
        isWin98 && alert("window 98");
        isWin2000 && alert("windows 2000");
        isWinXP && alert("windows XP");
    }
//-->
</script>

下边的代码是为了实现对浏览器是否支持XML特性的检测:


<script type="text/javascript" language="JavaScript">
	var SupportXml=false;
	var xmldom;
	if(window.ActiveXObject) {
		try {
			xmldom=new ActiveXObject("Microsoft.XMLDOM");
			SupportXml=(xmldom.loadXML(" <ok/>"));
		} catch(e) {} 
	} 
	else if(document.implementation && document.implementation.createDocument) {
		SupportXml=true;
	} 
	alert('XML状态为:'+SupportXml);
</script>

小贴士:为了更好地避免不同浏览器,不同操作系统因为默认文字不同而对页面布局造成影响,应尽量避免CSS中使用固定行高(height:12px;)对文字高度进行限定,应该尽量使用height:auto,如果迫不得已必须限定文字高度(比如只显示一行),则应使用em代替px(例如 height:1.1em;),1em=1文字高度,这样就使得文字高度随着文字大小动态改变,不会造成文字截断现象的发生了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值