前端开发经常遇到需要判断用户的浏览设备,是什么手机系统?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
欢迎关注我的个人技术公众号