# 浏览器端判断当前设备的运行环境
可判断环境:
* android
* iOS
* weixin
* Linux
* windows
* IE
* Mac
直接先上代码:
~~~javascript
let device = function(t) {let userAgent = navigator.userAgent.toLowerCase();let n = function(e) {let t = new RegExp(e + "/([^\\s\\_\\-]+)");return e = (userAgent.match(t) || [])[1],e || !1}let r = {os: function() {if(/windows/.test(userAgent)){return "windows";}else{if(/linux/.test(userAgent)){return "linux";}else{if(/iphone|ipod|ipad|ios/.test(userAgent)){return "ios";}else{if(/mac/.test(userAgent)){return "mac";}}}}return void 0;}(),ie: function() {return !!(window.ActiveXObject || "ActiveXObject" in window) && ((userAgent.match(/msie\s(\d+)/) || [])[1] || "11")}(),weixin: n("micromessenger")};r.android = /android/.test(userAgent);r.ios = "ios" === r.os;return r;
}
~~~
返回结果:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210103204117341.png)
有时你的 App 可能会对 userAgent 插入一段特定的标识,譬如:
> Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143`myapp`/1.8.6 Safari/537.36
你要验证当前的 WebView 是否在你的 App 环境,即可通过上述的myapp(即为 Native 给 Webview 插入的标识,可以随意定义)来判断。
~~~javascript
var device = device('myapp');
if(device.myapp){alert('在我的App环境');
}
~~~
这里借鉴于`layui`的`device`判断方法,如果使用了`layui`的框架,可以直接使用`layui.device()`方法来获取,如果没有可以学习下`贤心`大神的写法。
> Tips: layui是贤心大神的作品,大家可以去膜拜一下,https://www.layui.com/
>
- 空白目录
- 使用thinkphp6搭建后端api接口流程
- tp6 uniapp vue 前后端跨域解决方案
- 操作记录
- api00
- 你看看有没有用
- 6666
- Docker安装LNMP环境的详细过程(可部署TP项目)
- LNMP部署thinkphp
- 玩客云Armbian 安装LNMP环境 Docker
- ThinkPHP6项目基操(16.实战部分 redis+token登录)
- ThinkPHP6项目基操(11.实战部分 部署后台静态页面模板及后台登录页面)
- ThinkPHP6项目基操(13.实战部分 项目中的自定义异常处理总结 错误页面API错误)
- ThinkPHP6项目基操(14.实战部分 中间件处理登录流程)
- ThinkPHP6项目基操(12.实战部分 验证码)
- ThinkPHP6项目基操(18.实战部分 表单令牌Token 防CSRF)
- ThinkPHP6项目基操(19.实战部分 Mysql模型事务操作)
- ThinkPHP6项目基操(20.实战部分 数据库操作返回值总结)
- 浏览器端判断当前设备的运行环境
- api
- api异常捕捉
- 写一个中间件
- 统一的参数返回形式
- ThinkPHP6调用模型的方法
- thinkphp6控制器、验证器、模型、service,各层写的内容