用user-agent来判断感觉不是很准确,有没有其他的方法?
var events = navigator.userAgent;
console.log(navigator.userAgent);
console.log(navigator.appVersion);
console.log(navigator)
if(events.indexOf('Android')>-1 || events.indexOf('Linux')>-1 || events.indexOf('Adr')>-1){
console.log("安卓手机");
}else if(events.indexOf('iPhone')>-1){
//根据尺寸进行判断 苹果的型号
if(screen.height == 812 && screen.width == 375){
console.log("苹果X");
}else if(screen.height == 736 && screen.width == 414){
console.log("iPhone7P - iPhone8P - iPhone6");
}else if(screen.height == 667 && screen.width == 375){
console.log("iPhone7 - iPhone8 - iPhone6");
}else if(screen.height == 568 && screen.width == 320){
console.log("iPhone5");
}else{
console.log("iPhone4");
}
}else if(events.indexOf('Windows Phone')>-1){
console.log("诺基亚手机");
}else if(events.indexOf("iPad")>-1){
console.log("平板");
}
你是要做什么兼容吗?如果是适配大小的话可以通过获取window.screen.width == 414.其他的属性是无法获取的,JS没法判断是iphone6 plus.
或者你可以打印出每一个苹果用户代理的信息,自己正则去匹配,但是存在准确性的问题。
最好通过native去判断~
6 回答5.4k 阅读✓ 已解决
9 回答9.6k 阅读
5 回答3.8k 阅读✓ 已解决
4 回答8.2k 阅读✓ 已解决
7 回答10.2k 阅读
5 回答8.4k 阅读
2 回答10.5k 阅读✓ 已解决
如果是自己编写的webView,可以让native代码返回判断的设备型号。
如果是纯网页开发,
下面的js你看一下有没有帮助