前言
也许前端的小伙伴们会接到企业微信应用的开发,也是我前段时间碰到的问题。当一个应用在非企业微信环境下的时候是不展示内容的,只会给出相应的文字来提示用户当前不是企业微信环境,请前往企业微信访问该应用之类的,那么如何进行判断呢,请往下面看!
第一步:拿到userAgent
userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值。一般来讲,它是在 navigator.appCodeName 的值之后加上斜线和 navigator.appVersion 的值构成的。例如:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)
先定义变量将 userAgent 字符串存储起来
let ua = window.navigator.userAgent.toLowerCase();
注意:一定要转换为小写字符串,方便后期在字符串中匹配字符串!!!
第二步:判断当前是否在微信环境下
可以从 ua 当中去检索,是否包含 "micromessenger" 字符串。可以使用多种方式,可以是正则匹配,可以是用 indexOf 检索,这里我使用了一种比较简单的方法 indexOf
if (ua.indexOf("micromessenger") != -1) {
console.log("微信环境")
} else {
console.log("非微信环境")
}
第三步:判断当前是否在企业微信环境下
按照第二步的方法,去匹配 "wxwork" 字符串
if (ua.indexOf("wxwork") != -1) {
console.log("企业微信环境")
} else {
console.log("非企业微信环境")
}
结尾:
以上就是如何判断当前环境是否是 微信 / 企业微信 的方法,大家可以自己根据这两个方法去封装函数。也可以把 钉钉 环境判断加上,封装一个集成的环境判断函数。
当然,加上** PC端** 和 移动端 判断也是OK滴!