简单筛选iOS和安卓的版本的函数

Posted ReedSun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单筛选iOS和安卓的版本的函数相关的知识,希望对你有一定的参考价值。

简单筛选ios和安卓的版本的函数

需求

现如今,移动端大行其道,我们终于不太需要再为了IE6, IE7, IE8…做可怕的兼容了。但是,仍然有一些库或框架不能再低版本的iOS和安卓中正常运行,所以我就写了一个小函数来筛选iOS和安卓的版本

函数的期盼输入为你期望的iOS和安卓版本,输出为一个布尔值,如果当前设备版本大于你输入的版本,则返回 true ,否则返回 false

函数

function filterVersion (iOS, android) 
  if (navigator.userAgent.indexOf('Mac OS X') !== -1) 
    var reg = /OS\\s[\\d\\_]*\\slike\\sMac\\sOS\\sX/.exec(navigator.userAgent)
    if (reg) 
      var version = parseFloat(reg[0].slice(3, -14).replace(/_/g, '.'))
      return version >= iOS
      return false
    
   else if (navigator.userAgent.indexOf('Android') !== -1) 
    var reg = /Android\\s[\\d\\.]*;/.exec(navigator.userAgent)
    if (reg) 
      var version = parseFloat(reg[0].slice(8, -1))
      return version >= Android
     else 
      return false
     
   else 
    return false
  

例子

比如一个功能xxx,你你只想在iOS 10.0以上的版本,及安卓 7.0以上的版本上使用,则可以这样写

function xxx () 
  if (!filterVersion(10, 7)) 
    return
  
  // ....

原理

这个判断方法是根据浏览器提供的UA,即 window.navigator.userAgent 来做出判断的,这个属性就提供了安卓或iOS的系统版本信息。

以上是关于简单筛选iOS和安卓的版本的函数的主要内容,如果未能解决你的问题,请参考以下文章

安卓实现多条件筛选列表菜单筛选菜单

iOS14发布:更像安卓了,但并没有那么简单

6.12 beta冲刺每日会议

刺激战场手游ios版本和安卓版本能互通吗?

安卓随手记如何筛选报表

火箭男孩(Rocket Boy 3D) 苹果版本|安卓版本|iOS|iPhone|Android版本发布了