js如何判断用户使用的设备类型及平台

前端开发经常遇到需要判断用户的浏览设备,是什么手机系统?android,ios,ipad,windows phone等等,有时候还需要知道用户浏览页面是在微信中打开还是在移动端浏览器中打开,等等一系列判断做一些相应的处理。

  1、首先判断PC端还是移动端。

 1     function IsPC() {
 2         var userAgentInfo = navigator.userAgent;
 3         var Agents = ["Android", "iPhone",
 4                     "SymbianOS", "Windows Phone",
 5                     "iPad", "iPod"];
 6         var flag = true;
 7         for (var v = 0; v < Agents.length; v++) {
 8             if (userAgentInfo.indexOf(Agents[v]) > 0) {
 9                 flag = false;
10                 break;
11             }
12         }
13         return flag;
14     }

  2、判断用户移动端使用的系统平台

1     var u = navigator.userAgent;
2     if (u.indexOf('Android') > -1 || u.indexOf('Linux') > -1) {
3         //安卓手机
4     } else if (u.indexOf('iPhone') > -1) {
5         //苹果手机
6     } else if (u.indexOf('Windows Phone') > -1) {
7         //winphone手机
8     }

  3、判断用户是否在微信中打开

1     function isWeiXin(){ 
2         var ua = navigator.userAgent.toLowerCase(); 
3         if(ua.indexOf('micromessenger') != -1) { 
4             return true; 
5         } else { 
6             return false; 
7         } 
8     }

判断原理:

通过判断浏览器的userAgent,

User Agent中文名为用户代理,是Http协议中的一部分,属于头域的组成部分,User Agent也简称UA。

它是一个特殊字符串头,是一种向访问网站提供你所使用的浏览器类型及版本、操作系统及版本、浏览器内核、等信息的标识。通过这个标 识,用户所访问的网站可以显示不同的排版从而为用户提供更好的体验或者进行信息统计;

例如用手机访问谷歌和电脑访问是不一样的,这些是谷歌根据访问者的 UA来判断的。UA可以进行伪装。

浏览器的UA字串的标准格式:浏览器标识 (操作系统标识; 加密等级标识; 浏览器语言) 渲染引擎标识版本信息。但各个浏览器有所不同。

转载自:https://blog.csdn.net/weixin_36810906/article/details/84230229

欢迎关注我的个人技术公众号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值