由于生产厂商的不同,导致个人PC的操作系统和web浏览器各有不用,这就为我们web开发从业人员带来工作上的烦恼,现正学习《Javascript高级程序设计》一书,在书中找到了相关应用,拿出来与大家分享。
//检测浏览器类型
functionValidate_Browser(str){
varsUserAgent=navigator.userAgent;
//先要验证是否是基于KHTML的
varisKHTML=sUserAgent.indexOf("KHTML")>-1
||sUserAgent.indexOf("Konqueror")>-1
||sUserAgent.indexOf("AppleWebKit")>-1;
switch(str.toUpperCase()){
case"IE":
returnsUserAgent.indexOf("MSIE")>-1&&sUserAgent.indexOf("compatible")>-1;
break;
case"FIREFOX":
returnsUserAgent.indexOf("Gecko")>-1&&!isKHTML;
break;
case"NETSCAPE":
returnsUserAgent.indexOf("Mozilla")==0
&&navigator.appName=="Netscape"
&&!isKHTML;
break;
case"OPERA":
returnsUserAgent.indexOf("Opera")>-1;
break;
case"SAFARI":
returnsUserAgent.indexOf("AppleWebKit")>-1&&isKHTML;
break;
case"KONQUEROR":
returnsUserAgent.indexOf("Konqueror")>-1&&isKHTML;
break;
default:returnfalse;
}
}
//检测操作系统
functionValidate_System(str){
varsUserAgent=navigator.userAgent;
//检测是不是WINDOWS系列的操作系统
varisWin=(navigator.platform=="Win32")||(navigator.platform=="Windows");
if(str.toUpperCase()=="WIN")
returnisWin;
if(isWin){
switch(str.toUpperCase()){
case"WIN95":
returnsUserAgent.indexOf("Win95")>-1
||sUserAgent.indexOf("Windows95")>-1;
break;
case"WIN98":
returnsUserAgent.indexOf("Win98")>-1
||sUserAgent.indexOf("Windows98")>-1;
break;
case"WINME":
returnsUserAgent.indexOf("Win9x4.90")>-1
||sUserAgent.indexOf("WindowsME")>-1;
break;
case"WIN2K":
returnsUserAgent.indexOf("WindowsNT5.0")>-1
||sUserAgent.indexOf("Windows2000")>-1;
break;
case"WINXP":
returnsUserAgent.indexOf("WindowsNT5.1")>-1
||sUserAgent.indexOf("WindowsXP")>-1;
break;
case"WINNT4":
returnsUserAgent.indexOf("WinNT")>-1
||sUserAgent.indexOf("WindowsNT")>-1
||sUserAgent.indexOf("WinNT4.0")>-1
||sUserAgent.indexOf("WindowsNT4.0")>-1
&&(
!(sUserAgent.indexOf("Win9x4.90")>-1
||sUserAgent.indexOf("WindowsME")>-1)
&&
!(sUserAgent.indexOf("WindowsNT5.0")>-1
||sUserAgent.indexOf("Windows2000")>-1)
&&
!(sUserAgent.indexOf("WindowsNT5.1")>-1
||sUserAgent.indexOf("WindowsXP")>-1)
);
break;
default:returnfalse;
}
}
//检测是不是MAC操作系统
varisMac=(navigator.platform=="Mac68K")||(navigator.platform=="MacPPC");
if(isMac){
switch(str.toUpperCase()){
case"MAC68K":
returnsUserAgent.indexOf("Mac_68000")>-1
||sUserAgent.indexOf("68K")>-1;
break;
case"MACPPC":
returnsUserAgent.indexOf("Mac_PowerPC")>-1
||sUserAgent.indexOf("PPC")>-1;
break;
default:returnfalse;
}
}
//检测是不是UNIX操作系统
if(str.toUpperCase()=="UNIX")
return(navigator.platform=="Xll")&&!isWin&&!isMac;
}
//调用方法
alert(Validate_System("win"));
alert(Validate_Browser("ie"));
本文提供了一种使用JavaScript来检测用户浏览器类型和操作系统的实用方法。通过解析`navigator.userAgent`属性,可以判断用户是否使用IE、Firefox等浏览器以及他们所使用的操作系统如Windows、Mac等。
1375

被折叠的 条评论
为什么被折叠?



