Skip to content

Instantly share code, notes, and snippets.

@Houserqu
Created May 5, 2021 01:35
Show Gist options
  • Save Houserqu/c0f3b21a892b6d2c0504e5afc7868f4f to your computer and use it in GitHub Desktop.
Save Houserqu/c0f3b21a892b6d2c0504e5afc7868f4f to your computer and use it in GitHub Desktop.
ua
export default function () {
  let ua = {}, agent = navigator.userAgent, m;
  ua.iPod = agent.indexOf("iPod") > -1;
  ua.iPad = agent.indexOf("iPad") > -1;
  ua.iPhone = agent.indexOf("iPhone") > -1;
  agent.indexOf("Android") > -1 && (ua.android = parseFloat(agent.slice(agent.indexOf("Android") + 8)));

  if (ua.iPad || ua.iPhone || ua.iPod) {
    m = /OS (\d+)_/.exec(agent);
    ua.iOS = parseInt(m[1], 10) || true;
  }

  ua.wp = agent.indexOf("Windows Phone") > -1;

  // 微信UA
  m = / MicroMessenger\/([0-9\.]+)/i.exec(agent);
  m && (ua.weixin = parseFloat(m[1], 10));

  // 手QUA
  m = / QQ\/([0-9\.]+)/i.exec(agent);
  m && (ua.QQ = m[1]);

  //手Q
  ua.qzone = agent.indexOf("Qzone/") > -1

  // Safari浏览器
  if (/(iPhone)+[\S|\s]*(Version\/)[\S|\s]*Safari\//i.test(agent)) {
    m = /Safari\/([0-9\.]+)/i.exec(agent)
    m && (ua.iPhoneSafari = m[1])
  }

  // QQ浏览器 (QQ和微信的webview也会包含"MQQBrowser")
  if (!/ MicroMessenger\/([0-9\.]+)/i.test(agent) && !/ QQ\/([0-9\.]+)/i.test(agent)) {
    m = /MQQBrowser\/([0-9\.]+)/i.exec(agent)
    m && (ua.MQQBrowser = m[1])
  }

  // UC浏览器
  m = /UCBrowser\/([0-9\.]+)/i.exec(agent)
  m && (ua.UCBrowser = m[1])

  return ua
}

Wx-ios

Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12A365 MicroMessenger/5.4.1

wx-android

Mozilla/5.0 (Linux; Android 5.0; SM-N9100 Build/LRX21V) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/37.0.0.0 Mobile Safari/537.36 MicroMessenger/6.0.2.56_r958800.520 NetType/WIFI

qq-android

Mozilla/5.0 (Linux; Android 6.0.1; SM-C5000 Build/MMB29M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.49 Mobile MQQBrowser/6.2 TBS/043409 Safari/537.36 V1_AND_SQ_7.1.5_708_YYB_D PA QQ/7.1.5.3215 NetType/WIFI WebP/0.3.0 Pixel/1080

qq-ios

Mozilla/5.0 (iPhone; CPU iPhone OS 7_0_4 like Mac OS X) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.49 Mobile MQQBrowser/6.2 TBS/043409 Safari/537.36 V1_AND_SQ_7.1.5_708_YYB_D PA QQ/7.1.5.3215 NetType/WIFI WebP/0.3.0 Pixel/1080
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment