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


Posted in Javascript onApril 24, 2014

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

/**
 * 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 相关文章推荐
那些年,我还在学习jquery 学习笔记
Mar 05 Javascript
jquery动画4.升级版遮罩效果的图片走廊--带自动运行效果
Aug 24 Javascript
js获取height和width的方法说明
Jan 06 Javascript
jquery 合并内容相同的单元格(示例代码)
Dec 13 Javascript
Sequelize中用group by进行分组聚合查询
Dec 12 Javascript
详解Vue.js 2.0 如何使用axios
Apr 21 Javascript
jQuery取得元素标签名称小结(附代码)
Aug 16 jQuery
JS实现的邮箱提示补全效果示例
Jan 30 Javascript
原生JS实现列表子元素顺序反转的方法分析
Jul 02 Javascript
详解ES6 CLASS在微信小程序中的应用实例
Apr 24 Javascript
React中Ref 的使用方法详解
Apr 28 Javascript
JS sort排序详细使用方法示例解析
Sep 27 Javascript
javascript模拟订火车票和退票示例
Apr 24 #Javascript
jquery 自定义容器下雨效果可将下雨图标改为其他
Apr 23 #Javascript
jquery map方法使用示例
Apr 23 #Javascript
js通过更改按钮的显示样式实现按钮的滑动效果
Apr 23 #Javascript
js Dialog 去掉右上角的X关闭功能
Apr 23 #Javascript
Jquery实现Div上下移动示例
Apr 23 #Javascript
JQuery为页面Dom元素绑定事件及解除绑定方法
Apr 23 #Javascript
You might like
php 对输入信息的进行安全过滤的函数代码
2012/06/29 PHP
php实现encode64编码类实例
2015/03/24 PHP
composer.lock文件的作用
2016/02/03 PHP
利用ajax和PHP实现简单的流程管理
2017/03/23 PHP
php写入文件不覆盖的实例讲解
2019/09/17 PHP
JavaScript中函数表达式和函数声明及函数声明与函数表达式的不同
2015/11/15 Javascript
bootstrap fileinput完整实例分享
2016/11/08 Javascript
微信小程序开发一键登录 获取session_key和openid实例
2016/11/23 Javascript
JavaScript学习笔记之函数记忆
2017/09/06 Javascript
详解Vue改变数组中对象的属性不重新渲染View的解决方案
2018/09/21 Javascript
微信小程序实现文字跑马灯
2020/05/26 Javascript
JavaScrip数组去重操作实例小结
2019/06/20 Javascript
vue实现手机号码的校验实例代码(防抖函数的应用场景)
2019/09/05 Javascript
vue-cli3 取消eslint校验代码的解决办法
2020/01/16 Javascript
在vue项目中引用Antv G2,以饼图为例讲解
2020/10/28 Javascript
[01:15:15]VG VS EG Supermajor小组赛B组胜者组第一轮 BO3第二场 6.2
2018/06/03 DOTA
Python字符编码判断方法分析
2016/07/01 Python
用Python将动态GIF图片倒放播放的方法
2016/11/02 Python
pandas创建新Dataframe并添加多行的实例
2018/04/08 Python
django框架之cookie/session的使用示例(小结)
2018/10/15 Python
python使用pdfminer解析pdf文件的方法示例
2018/12/20 Python
Python设计模式之代理模式实例详解
2019/01/19 Python
pymongo中聚合查询的使用方法
2019/03/22 Python
python实现点击按钮修改数据的方法
2019/07/17 Python
名词解释型面试题(主要是网络)
2013/12/27 面试题
《长征》教学反思
2014/04/27 职场文书
2014个人年终工作总结范文
2014/12/15 职场文书
优秀共产党员推荐材料
2014/12/18 职场文书
阿甘正传观后感
2015/06/01 职场文书
公司回复函格式
2015/07/14 职场文书
初任公务员培训心得体会
2016/01/08 职场文书
村党总支部公开承诺书2016
2016/03/25 职场文书
导游词之铁岭象牙山
2019/12/06 职场文书
Oracle11g r2 卸载干净重装的详细教程(亲测有效已重装过)
2021/06/04 Oracle
Vue监视数据的原理详解
2022/02/24 Vue.js
python获取字符串中的email
2022/03/31 Python