大家在写代码时经常会用到判断是否手机端,大部分都是一个正则匹配手机端的用户标识;
var isMobile = /Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent);
或是这种把浏览器标识也加上,可以能全面些;
var ismobile = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i
);
这种方式建议调试的时候用,生产环境还是使用下边这种;
var ismobile =function (){
var system = {
win: false,
mac: false,
xll: false
};
var clientBrowser = navigator.platform;
system.win = clientBrowser.indexOf("Win") == 0;
system.mac = clientBrowser.indexOf("Mac") == 0;
system.x11 = (clientBrowser == "X11") || (clientBrowser.indexOf("Linux") == 0);
if (system.win || system.mac || system.xll) {
//console.log("pc");
return false;
} else {
//console.log("wap");
return true;
}
}
这是通过浏览器返回的系统平台标识,调试模式下不起作用,用的时候仅需判断 ismobile 的返回值即可。
请先
!