如何判断当前浏览器和当前设备

292 阅读2分钟

首先介绍一下navigator

navigator是js的一个对象,用于提供当前浏览器及操作系统等信息,这些信息都放在navigator的各个属性中。navigator对象也是window对象的成员。

属性如下:

appCodeName 获取浏览器的内部代码名。

appMinorVersion 获取浏览器的辅版本号,常用于浏览器的补丁货服务包。

appName 获取浏览器的名称。

appVersion 获取浏览器的平台和版本信息。

language 获取当前浏览器的语言,例如,可能的一个结果是“zh-CN”。

userAgent 返回浏览器的厂商和版本信息,即浏览器运行的操作系统、浏览器的版本、名称

cookieEnabled 获取浏览器中是否启用 cookie 的布尔值。

oscpu 获取计算机系统的 CPU 型号,例如,Inter通常得到的结果是x86。

onLine 获取浏览器是否连接互联网,结果是布尔值。

platform 获取运行浏览器的操作系统平台。

mimeTypes 获取浏览器支持的所有的MIME类型的数组。

plugins 获取安装在浏览器上的所有插件的数组。

product 获取浏览器的产品名,例如,可能的结果是Gecko。

productSub 获取浏览器产品的更多信息,例如,可能的结果是20030107。

vendor 获取浏览器的厂商名称,例如,可能的结果是Google Inc.。

vendorSub 获取浏览器的厂商更多信息。

如何判断当前浏览器

/**
 * @returns {String} 当前浏览器名称
 */
export const getExplorer = () => {
  const ua = window.navigator.userAgent
  const isExplorer = (exp) => {
    return ua.indexOf(exp) > -1
  }
  if (isExplorer('MSIE')) return 'IE'
  else if (isExplorer('Firefox')) return 'Firefox'
  else if (isExplorer('Chrome')) return 'Chrome'
  else if (isExplorer('Opera')) return 'Opera'
  else if (isExplorer('Safari')) return 'Safari'
}

如何判断当前设备

 //判断当前设备是否是ipad,若是ipad则支持chrome和safari浏览器
  var isIPad =  (navigator.userAgent.match(/(iPad)/) || (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1))