Lehman-Blog - 获取设备
type: channel
link: https://blog.lehman.top/tag/%E8%8E%B7%E5%8F%96%E8%AE%BE%E5%A4%87/
items: 获取用户设备

获取用户设备
type: item
date: 2020-08-12T15:00:00+08:00
description: [scode type="blue"]前端layui获取[/scode] //layui 即可根据不同的设备返回下述不同的信息 var device = layui.device(); console.log(device); { os: "windows" //底层操作系统，windows、linux、mac等 ,ie: false //ie6-11的版本，如果不是ie浏览器，则为false ,weixin: false //是否微信环境 ,android: false //是否安卓系统 ,ios: false //是否ios系统 } /*有时你的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插入的标识，可以随意定义）来判断*/ var device = layui.device('myapp'); if(device.myapp){ alert('在我的App环境'); } [scode type="blue"]Vue获取[/scode]/** * 获取设备信息 * @param key 自定义的agent * @returns {{weixin: *, os: (string|undefined), ie: boolean}} */ device(key) { let agent = navigator.userAgent.toLowerCase(), // 获取版本号 getVersion = function (label) { const exp = new RegExp(label + '/([^\\s\\_\\-]+)'); label = (agent.match(exp) || [])[1]; return label || false; }, // 返回结果集 result = { os: function () { // 底层操作系统 if (/windows/.test(agent)) { return 'windows'; } else if (/linux/.test(agent)) { return 'linux'; } else if (/iphone|ipod|ipad|ios/.test(agent)) { return 'ios'; } else if (/mac/.test(agent)) { return 'mac'; } else if (/android/.test(agent)) { return 'android'; } }(), ie: function () { // ie版本 return (!!window.ActiveXObject || 'ActiveXObject' in window) ? ( (agent.match(/msie\s(\d+)/) || [])[1] || '11' // 由于ie11并没有msie的标识 ) : false; }(), weixin: getVersion('micromessenger') // 是否微信 }; // 任意的key if (key && !result[key]) { result[key] = getVersion(key); } // 移动设备 result.android = /android/.test(agent); result.ios = result.os === 'ios'; result.mobile = (result.android || result.ios) ? true : false; return result; }, [scode type="blue"]Java获取[/scode] package com.lehman.modules.tools.util; import javax.servlet.http.HttpServletRequest; /** * 判断访问设备 * * @author Lehman * @Email <280668200@qq.com> * @Date 2019年2月20日 下午3:08:43 * @version v1.0 */ public class DeviceUtils { /** Wap网关Via头信息中特有的描述信息 */ private static String…