Javascript学习笔记之操作系统以及浏览器验证篇

由于生产厂商的不同,导致个人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"));
阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭