JS正确判断手机端的封装方法

大家在写代码时经常会用到判断是否手机端,大部分都是一个正则匹配手机端的用户标识;

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  的返回值即可。

本站个别资源来源于网络,还请自行再次甄别本资源安全性及合法性! 本站提供的资源(包括但不限于源码,软件,文章)仅供个人为了学习和研究其内含的设计思想和原理,请在查阅后后自觉删除。
0
分享到:

评论0

请先

没有账号? 忘记密码?