# 瀏覽器端判斷當前設備的運行環境
可判斷環境:
* 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;
}
~~~
返回結果:

有時你的 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,各層寫的內容