在前端编码过程中,我们经常会遇到取得用户浏览器和操作系统的情况。
下面让我们来看看如何使用js代码来取得用户所使用的浏览器:
// 取得浏览器
getBrowse = function () {
// 不可打乱顺序
if (navigator.userAgent.indexOf("MSIE" ) > 0) {return "MSIE";}
if (isFirefox = navigator.userAgent.indexOf("Firefox") > 0) {return "Firefox" ;}
if(navigator.userAgent.indexOf("safari" ) > 0 && navigator.userAgent.indexOf("Chrome" ) < 0){
return "Safari";
}
if(navigator.userAgent.indexOf("Chrome" ) > 0){return "Chrome";}
if (isCamino = navigator.userAgent.indexOf("Camino") > 0) { return "Camino";}
if (isMozilla = navigator.userAgent.indexOf("Gecko/") > 0) { return "Gecko";}
};
取得操作系统:
// 取得操作系统
detectOS = function() {
var sUserAgent = navigator.userAgent;
var isWin = (navigator.platform == "Win32") || (navigator.platform == "Windows");
var isMac = (navigator.platform == "Mac68K") || (navigator.platform == "MacPPC")
|| (navigator.platform == "Macintosh" ) || (navigator.platform == "MacIntel" );
if (isMac) return "Mac" ;
var isUnix = (navigator.platform == "X11") && !isWin && !isMac;
if (isUnix) return "Unix" ;
var isLinux = (String(navigator.platform).indexOf( "Linux") > -1);
if (isLinux) return "Linux" ;
if (isWin) {
var isWin2K = sUserAgent.indexOf("Windows NT 5.0" ) > -1 || sUserAgent.indexOf("Windows 2000" ) > -1;
if (isWin2K) return "Win2000";
var isWinXP = sUserAgent.indexOf("Windows NT 5.1" ) > -1 || sUserAgent.indexOf("Windows XP" ) > -1;
if (isWinXP) return "WinXP";
var isWin2003 = sUserAgent.indexOf("Windows NT 5.2" ) > -1 || sUserAgent.indexOf("Windows 2003" ) > -1;
if (isWin2003) return "Win2003";
var isWinVista= sUserAgent.indexOf("Windows NT 6.0" ) > -1 || sUserAgent.indexOf("Windows Vista" ) > -1;
if (isWinVista) return "WinVista";
var isWin7 = sUserAgent.indexOf("Windows NT 6.1" ) > -1 || sUserAgent.indexOf("Windows 7" ) > -1;
if (isWin7) return "Win7";
}
return "other";
};
当有新的浏览器和操作系统后,基于以上代码进行扩展即可。