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 相关文章推荐
javascript 动态添加表格行
Jun 22 Javascript
JS事件Event元素(兼容IE,Firefox,Chorme)
Nov 01 Javascript
原生js实现跨浏览器获取鼠标按键的值
Apr 08 Javascript
JavaScript定时器详解及实例
Aug 01 Javascript
跟我学习javascript的循环
Nov 18 Javascript
Javascript简单实现面向对象编程继承实例代码
Nov 27 Javascript
jquery实现倒计时效果
Dec 14 Javascript
jQuery基本选择器(实例及表单域value的获取方法)
May 20 Javascript
多个上传文件用js验证文件的格式和大小的方法(推荐)
Mar 09 Javascript
原生JS实现隐藏显示图片 JS实现点击切换图片效果
Jan 27 Javascript
详谈commonjs模块与es6模块的区别
Oct 18 Javascript
vue+elementUI(el-upload)图片压缩,默认同比例压缩操作
Aug 10 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 深入理解strtotime函数的使用详解
2013/05/23 PHP
PHP实现的比较完善的购物车类
2014/12/02 PHP
PHP实现将浏览历史页面网址保存到cookie的方法
2015/01/26 PHP
微信开发之获取JSAPI TICKET
2017/07/07 PHP
基于jquery的拖动布局插件
2011/11/25 Javascript
jquery中的过滤操作详细解析
2013/12/02 Javascript
Jquery响应回车键直接提交表单操作代码
2014/07/25 Javascript
javascript中定义类的方法汇总
2014/12/28 Javascript
JS判断网页广告是否被浏览器拦截过滤的代码
2015/04/05 Javascript
Vue.js动态添加、删除选题的实例代码
2016/09/30 Javascript
JS中的phototype详解
2017/02/04 Javascript
AngularJS的Filter的示例详解
2017/03/07 Javascript
echarts 使用formatter 修改鼠标悬浮事件信息操作
2020/07/20 Javascript
删除目录下相同文件的python代码(逐级优化)
2012/05/25 Python
py2exe 编译ico图标的代码
2013/03/08 Python
Python os模块学习笔记
2015/06/21 Python
Django中的CACHE_BACKEND参数和站点级Cache设置
2015/07/23 Python
详解Python Socket网络编程
2016/01/05 Python
Python自定义进程池实例分析【生产者、消费者模型问题】
2016/09/19 Python
Python基于QRCode实现生成二维码的方法【下载,安装,调用等】
2017/07/11 Python
详解Python 实现元胞自动机中的生命游戏(Game of life)
2018/01/27 Python
Django中间件基础用法详解
2019/07/18 Python
利用python实现周期财务统计可视化
2019/08/25 Python
wxPython实现分隔窗口
2019/11/19 Python
Python 安装 virturalenv 虚拟环境的教程详解
2020/02/21 Python
HTML5 canvas 基本语法
2009/08/26 HTML / CSS
ESDlife健康生活易:身体检查预订、搜寻及比较
2019/05/10 全球购物
Vinatis德国:法国领先的葡萄酒邮购公司
2020/09/07 全球购物
怎样让char类型的东西转换成int类型
2013/12/09 面试题
思想品德自我鉴定
2013/10/12 职场文书
商务英语求职自荐信范文
2013/12/24 职场文书
化工操作工岗位职责
2014/04/29 职场文书
工作失误检讨书(3篇)
2014/10/11 职场文书
道歉的话怎么说
2015/05/12 职场文书
python cv2图像质量压缩的算法示例
2021/06/04 Python
flex布局中使用flex-wrap实现换行的项目实践
2022/06/21 HTML / CSS