js检测浏览器版本、核心、是否移动端示例

 更新时间:2014年04月24日 10:23:43   作者:  
这篇文章主要介绍了js检测浏览器版本、核心、是否移动端示例,需要的朋友可以参考下

检测浏览器版本、核心、系统和是否移动端

复制代码 代码如下:

/**
 * check browser version
 * @authors K
 * @date    2014-04-11 14:48:39
 * @version 1
 */

/**
 * detect browser info with navigator userAgent
 * @return object browser info
 */

var browser = (function(){
  var userAgent = navigator.userAgent,
  ua = userAgent.toLowerCase(),
  browserList = {
    msie : /(?:msie\s|trident.*rv:)([\w.]+)/i,
    firefox : /Firefox\/([\w.]+)/i,
    chrome : /Chrome\/([\w.]+)/i,
    safari : /version\/([\w.]+).*Safari/i,
    opera : /(?:OPR\/|Opera.+version\/)([\w.]+)/i
  },
  kernels = {
    MSIE: /(compatible;\smsie\s|Trident\/)[\w.]+/i,
    Camino: /Camino/i,
    KHTML: /KHTML/i,
    Presto: /Presto\/[\w.]+/i,
    Gecko : /Gecko\/[\w.]+/i,
    WebKit: /AppleWebKit\/[\w.]+/i
  },
  browser = {
    kernel : 'unknow',
    version : 'unknow'
  }

  // 检测浏览器
  for(var i in browserList){
    var matchs = ua.match(browserList[i]);
    browser[i] = matchs ? true : false;
    if(matchs){
      browser.version = matchs[1];
    }
  }

  // 检测引擎
  for(var i in kernels){
    var matchs = ua.match(kernels[i]);
    if(matchs){
      browser.kernel = matchs[0];
    }
  }

  // 系统
  var os = ua.match(/(Windows\sNT\s|Mac\sOS\sX\s|Android\s|ipad.*\sos\s|iphone\sos\s)([\d._-]+)/i);
  browser.os = os!==null ? os[0] : false;

  // 是否移动端
  browser.mobile = ua.match(/Mobile/i)!==null ? true : false;

  return browser;
}());

相关文章

  • javascript indexOf函数使用说明

    javascript indexOf函数使用说明

    JavaScript中indexOf函数方法是返回 String 对象内第一次出现子字符串的字符位置。
    2008-07-07
  • ES6基础语法之字符串扩展

    ES6基础语法之字符串扩展

    这篇文章介绍了ES6基础语法之字符串扩展,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • 实例讲解JS中数组Array的操作方法

    实例讲解JS中数组Array的操作方法

    这篇文章主要介绍了JS中数组Array的操作方法,并用代码实例讲解,需要的朋友可以参考下
    2014-05-05
  • Javascript中的几种继承方式对比分析

    Javascript中的几种继承方式对比分析

    下面小编就为大家带来一篇Javascript中的几种继承方式对比分析。小编觉得挺不错的,现在分享给大家,希望能给大家一个参考。一起跟随小编过来看看吧
    2016-03-03
  • 千篇一律的JS运算符讲解,一起来看看

    千篇一律的JS运算符讲解,一起来看看

    这篇文章为大家千篇一律的介绍了JS的运算符,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • javascript中attribute和property的区别详解

    javascript中attribute和property的区别详解

    这篇文章主要介绍了javascript中attribute和property的区别详解,attribute和property对新手来说,特别容易混淆概念,本文就清晰的讲解了它们的区别,需要的朋友可以参考下
    2014-06-06
  • JavaScript 学习笔记之操作符

    JavaScript 学习笔记之操作符

    本文着重给大家介绍了javascript的操作符,包含一元操作符、位操作符、布尔操作符这3种类型,讲解的十分全面,小伙伴们参考下
    2015-01-01
  • javascript引用对象的方法

    javascript引用对象的方法

    javascript引用对象的方法...
    2007-01-01
  • js常用数组操作方法简明总结

    js常用数组操作方法简明总结

    这篇文章主要介绍了js常用数组操作方法简明总结,直接上代码,代码中有详细的注释,需要的朋友可以参考下
    2014-06-06
  • Knockoutjs快速入门(经典)

    Knockoutjs快速入门(经典)

    Knockoutjs是一个JavaScript实现的MVVM框架.主要有如下几个功能1. Declarative bindings2. Observables and dependency tracking3. Templating,需要了解的朋友可以参考下
    2012-12-12

最新评论