记 - userAgent的使用

581 阅读1分钟

需求背景

产品要求开发一个抽奖页,用户只有在微信访问h5页面才有几率触发抽奖,所以需要对用户的访问设备进行辨别。

思路

可获取userAgent(用户代理)来判断

userAgent简介

userAgent 属性是一个只读的字符串,声明了浏览器用于http请求的用户代理头的值。一般来讲,它是在 navigator.appCodeName的值之后加上斜线navigator.appVersion的值组成的。 例如:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)。

原文链接 :www.jianshu.com/p/c5cf6a196…

代码实现

// 写在了vuex中,方便全局获取
@Mutation
 public SET_UA() {
 // 获取ua
   let UA = navigator.userAgent
   let isAndroid = /android|adr|linux/gi.test(UA) // 安卓
   let isIOS = /iphone|ipod|ipad/gi.test(UA) && !isAndroid // 苹果
   let isBlackBerry = /BlackBerry/i.test(UA) //黑莓
   let isMobile = isAndroid || isIOS || isBlackBerry || isWindowPhone // 移动端
   let isWX = /MicroMessenger/gi.test(UA)  // 微信端
   let isWB = /WeiBo/gi.test(UA) // 微博
   this.hasPrize = /MicroMessenger/gi.test(UA) || /WeiBo/gi.test(UA)
   // 得到一个值为true或者false, i是忽略大小写,或者可以在获取ua后转成小写
 }