H5设备判断

596 阅读1分钟

H5设备判断

export const judgeClient = () => {
  const u = navigator.userAgent
  const isAndroid = u.indexOf("Android") > -1 || u.indexOf("Adr") > -1 // 判断是否是 android终端
  const isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/) // 判断是否是 iOS终端
  // 兼容Ipad ios13版本会被错误识别为PC
  const isiPad =
    navigator.userAgent.match(/(iPad)/) ||
    (navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1)
  if (isAndroid) {
    return "Android"
  } else if (isIOS) {
    return "IOS"
  } else if (isiPad) {
    return "iPad"
  } else {
    return "PC"
  }
}

注意:在iOS13中,苹果改进Safari,新增了一项功能——“请求桌面网站”。通俗地讲,就是为了让iPad用起来像PC。而且这个功能还“默认”开启,通过iPad设备打开Safari进入网站时会访问PC网站,而不是移动端网站。