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

技术教程 4个月前 亦森
26,010 0

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

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

版权声明:亦森 发表于 2021-04-16 11:10:35。
转载请注明:JS正确判断手机端的封装方法 | 亦森博客

暂无评论

暂无评论...