黑马程序员技术交流社区

标题: 【上海xiaoqu】封装一个js获取window系统或者手机系统版本的... [打印本页]

作者: chennaiweng    时间: 2018-12-14 09:54
标题: 【上海xiaoqu】封装一个js获取window系统或者手机系统版本的...
本帖最后由 上海分校-小影 于 2018-12-14 14:55 编辑

前言
今天这篇文章也是平时用到的。就是一个积累函数。
通过navigator
navigator可以获取很多信息。
获取系统版本函数
// 获取系统版本
export function getOsVersion() {
  var u = navigator.userAgent, version = ''
  if (u.indexOf('Mac OS X') > -1) {
    // ios
    var regStr_saf = /OS [\d._]*/gi
    var verinfo = u.match(regStr_saf)
    version = 'IOS' + (verinfo + '').replace(/[^0-9|_.]/ig, '').replace(/_/ig, '.')
  } else if (u.indexOf('Android') > -1 ||
      u.indexOf('Linux') > -1) {
    // android
    version = 'Android' + u.substr(u.indexOf('Android') + 8, u.indexOf(';', u.indexOf('Android')) - u.indexOf('Android') - 8)
  } else if (u.indexOf('BB10') > -1) {
    // 黑莓bb10系统
    version = 'blackberry' + u.substr(u.indexOf('BB10') + 5, u.indexOf(';', u.indexOf('BB10')) - u.indexOf('BB10') - 5)
  } else if (u.indexOf('IEMobile') > -1) {
    // windows phone
    version = 'winphone' + u.substr(u.indexOf('IEMobile') + 9, u.indexOf(';', u.indexOf('IEMobile')) - u.indexOf('IEMobile') - 9)
  } else {
    var userAgent = navigator.userAgent.toLowerCase()
    if (userAgent.indexOf('windows nt 5.0') > -1) {
      version = 'Windows 2000'
    } else if (userAgent.indexOf('windows nt 5.1') > -1 || userAgent.indexOf('windows nt 5.2') > -1) {
      version = 'Windows XP'
    } else if (userAgent.indexOf('windows nt 6.0') > -1) {
      version = 'Windows Vista'
    } else if (userAgent.indexOf('windows nt 6.1') > -1 || userAgent.indexOf('windows 7') > -1) {
      version = 'Windows 7'
    } else if (userAgent.indexOf('windows nt 6.2') > -1 || userAgent.indexOf('windows 8') > -1) {
      version = 'Windows 8'
    } else if (userAgent.indexOf('windows nt 6.3') > -1) {
      version = 'Windows 8.1'
    } else if (userAgent.indexOf('windows nt 6.2') > -1 || userAgent.indexOf('windows nt 10.0') > -1) {
      version = 'Windows 10'
    } else {
      version = 'Unknown'
    }
  }
  return version
}

文章很简短,使用方式直接函数调用就可以了!

作者: 不二晨    时间: 2018-12-18 17:52
奈斯




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2