判断相关环境
typeof window === 'undefined' ? 'node' : 'browser'
浏览器版本
window.navigator.userAgent
User-Agent 首部包含了一个特征字符串,用来让网络协议的对端来识别发起请求的用户代理软件的应用类型、操作系统、软件开发商以及版本号。
可以修改伪装, 比较混乱
User-Agent: Mozilla/<version> (<system-information>) <platform> (<platform-details>) <extensions>
-
Mozilla/[version]浏览器名/版本,没有意义 -
<system-information>分号隔开 -
<platform> (<platform-details>)浏览器渲染引擎 -
<extensions>扩展字段采用空格进行分隔- Chrome:Chrome/版本号
- Safari:Safari/版本号 (历史原因,chrome浏览器后面也会带safari字段)
- Version:Version/版本号 系统版本号
- Mobile:移动设备标识,一般指内部版本号,苹果设备会带版本号,安卓设备不含版本号
使用 Bowser 简化判断