网页是否在 PC
端打开,可以帮助我们对页面进行调整,判断系统种类方便我们统计信息,判断浏览器种类版本,方便我们处理兼容问题,参考代码如下:
// 页面在pc端打开时,返回true;否则返回false
function checkPC(){
var agentstr = navigator.userAgent.toLowerCase();
// var agentstr = req.headers['user-agent'].toLowerCase(); // nodejs
var agentreg = /(iphone|ipod|ipad|android|symbianos|windows phone|playbook|mobile)/;
var agentph = agentstr.match(agentreg);
if(agentph){
return false;
}else{
return true;
}
}
// 判断操作系统 Mac Unix Linux Win2000 Win2003 WinXP WinVista Win7 other
function checkOS(){
var ua = 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 = ua.indexOf("Windows NT 5.0") > -1 || ua.indexOf("Windows 2000") > -1;
if (isWin2K) return "Win2000";
var isWinXP = ua.indexOf("Windows NT 5.1") > -1 || ua.indexOf("Windows XP") > -1;
if (isWinXP) return "WinXP";
var isWin2003 = ua.indexOf("Windows NT 5.2") > -1 || ua.indexOf("Windows 2003") > -1;
if (isWin2003) return "Win2003";
var isWinVista= ua.indexOf("Windows NT 6.0") > -1 || ua.indexOf("Windows Vista") > -1;
if (isWinVista) return "WinVista";
var isWin7 = ua.indexOf("Windows NT 6.1") > -1 || ua.indexOf("Windows 7") > -1;
if (isWin7) return "Win7";
}
return "other";
}
// 页面由苹果设备打开时,返回true;否则返回false
function checkApple(){
var ua = navigator.userAgent;
if(/AppleWebKit.*Mobile/i.test(ua) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(ua))){
if(/iPhone|mac|iPod|iPad/i.test(ua)){
return true;
} else {
return false;
}
} else if(ua.indexOf('iPad') > -1){
return true;
}else{
return false;
}
}
// 页面由微信打开时,返回true;否则返回false
function checkWeixin(){
var ua = navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i) == "micromessenger") {
return true;
} else {
return false;
}
}
// 获取浏览器种类和版本
function checkBrowser(){
var ua = navigator.userAgent.toLowerCase();
var reg_ie = /msie [\d.]+;/gi;
var reg_ff = /firefox\/[\d.]+/gi;
var reg_chrome = /chrome\/[\d.]+/gi;
var reg_saf = /safari\/[\d.]+/gi;
var reg_opr = /opr\/[\d.]+/gi;
if(ua.indexOf("msie") > 0){
return ua.match(reg_ie)[0];
}
// IE11版本中不包括MSIE字段
if(ua.indexOf("trident") > 0 && ua.indexOf("rv") > 0){
return "IE " + ua.match(/rv:(\d+\.\d+)/)[1];
}
if(ua.indexOf("firefox") > 0){
return ua.match(reg_ff)[0];
}
if(ua.indexOf("safari") > 0 && ua.indexOf("opr") > 0){
return ua.match(reg_opr)[0];
}
if(ua.indexOf("safari") > 0 && ua.indexOf("chrome") < 0){
return ua.match(reg_saf)[0];
}
if(ua.indexOf("chrome") > 0){
return ua.match(reg_chrome)[0];
}
}