useragent

UA是什么

User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。

Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3

UA 标准格式

浏览器标识 (操作系统标识; 加密等级标识; 浏览器语言) 渲染引擎标识 版本信息

UA串获取

// 获取ua并将大写字母转换为小写字母
const UA = window.navigator.userAgent.toLowerCase();

区分ios或android

// window 操作系统
const windows = (/windows/.test(UA));

// ios 设备
const iphone = !windows && (/iphone/.test(UA));
const ipod = (/ipod/.test(UA));
const ipad = (/ipad/.test(UA));
const ios = iphone || ipod || ipad;

// android 设备
const android = !windows && (/android/.test(UA));
const androidPhone = android && (/mobile/.test(UA)); // 手机
const androidTablet = android && !androidPhone; // 平板

区分浏览器内核

function browserKernel(UA) {
  return {
    trident: UA.indexOf('trident') > -1, // IE 内核
   presto: UA.indexOf('presto') > -1, // opera 内核
   webKit: UA.indexOf('applewebkit') > -1, // 苹果、谷歌内核
   gecko: UA.indexOf('gecko') > -1 && u.indexOf('khtml') == -1, // 火狐内核
  }
}

区分浏览器

const isUcBrowser = (/ucbrowser/.test(UA));

判断QQ、微信、支付宝

const isQQ = (/qq/.test(UA));
const isWeiXin = (/micromessenger/.test(UA));
const isAliPay = (/alipayclient/.test(UA));