# User Agent **Repository Path**: null_747_9838/User-Agent ## Basic Information - **Project Name**: User Agent - **Description**: User Agent(用户代理) - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2017-10-01 - **Last Updated**: 2023-07-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 顾名思义,User Agent中文名就是用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。知道了这些就能判断使用的是哪个平台或终端,后续撸代码也就能更好满足需求了。 userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值。 一般来讲,它是在 navigator.appCodeName 的值之后加上斜线和 navigator.appVersion 的值构成的。 例如:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)。 注:用户代理头:user-agent header 语法: ``` navigator.userAgent ``` 实例: ``` ``` 我是用谷歌浏览器打开的,然后log出的信息如下所示: ![输入图片说明](https://git.oschina.net/uploads/images/2017/1001/204042_27a6f3c4_1036569.png "144018_Jwwx_2941696 (1).png") 如果模拟手机模式(iPhone6)的话,log出来的结果又是不一样的: ![输入图片说明](https://git.oschina.net/uploads/images/2017/1001/204055_95e0c9a7_1036569.png "145705_1PTP_2941696.png") 基于好多项目都要用到UA,所以就封装了个小函数,拿起来就用就方便多了。 ``` function parseUA(UA) { UA = UA || navigator.userAgent; return { isIOS: !!UA.match(/iOS|iPad|iPhone/i), isAndroid: !!UA.match(/Android/i), isMobile: !!UA.match(/iOS|iPad|iPhone|Android|windows Phone/i), isQQ: !!UA.match(/qq/i), isWeixin: !!UA.match(/micromessenger/i), isWeibo: !!UA.match(/weibo/i) }; } ``` 调用的代码如下: ``` var ua=parseUA(); if (ua.isMobile) { console.log("isMobile"); }else if (ua.isWeixin || ua.isQQ) { console.log("isWeixin and isQQ"); } else if (ua.isIOS) { console.log("isIOS"); }else { console.log("isAndroid"); } ``` 最后,如若哪里有问题,还请轻喷,但是欢迎指出大家一起交流(*^__^*) !