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 相关文章推荐
求得div 下 img的src地址的js代码
Feb 28 Javascript
用javascript控制iframe滚动的代码
Apr 10 Javascript
Javascript 遍历对象中的子对象
Jul 03 Javascript
JavaScript中的正则表达式简明总结
Apr 04 Javascript
深入理解javascript变量声明
Nov 20 Javascript
js实现可控制左右方向的无缝滚动效果
May 29 Javascript
Ubuntu 16.04 64位中搭建Node.js开发环境教程
Oct 19 Javascript
微信小程序实现添加手机联系人功能示例
Nov 30 Javascript
swiper自定义分页器使用方法详解
Sep 14 Javascript
详解如何在Javascript和Sass之间共享变量
Nov 13 Javascript
vue项目前端微信JSAPI与外部H5支付相关实现过程及常见问题
Apr 14 Javascript
使用js原生实现年份轮播选择效果实例
Jan 12 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 mssql 分页SQL语句优化 持续影响
2009/04/26 PHP
PHP数字和字符串ID互转函数(类似优酷ID)
2014/06/30 PHP
phpcms手机内容页面添加上一篇和下一篇
2015/06/05 PHP
php与c 实现按行读取文件实例代码
2017/01/03 PHP
laravel自定义分页效果
2017/07/23 PHP
js trim函数 去空格函数与正则集锦
2009/11/20 Javascript
javascript 进阶篇2 CSS XML学习
2012/03/14 Javascript
jquery入门—访问DOM对象方法
2013/01/07 Javascript
网页中返回顶部代码(多种方法)另附注释说明
2013/04/24 Javascript
jquery实现兼容浏览器的图片上传本地预览功能
2013/10/14 Javascript
轻松创建nodejs服务器(5):事件处理程序
2014/12/18 NodeJs
js弹出窗口返回值的简单实例
2016/05/28 Javascript
Angular2学习笔记——详解NgModule模块
2016/12/02 Javascript
JavaScript数据类型和变量_动力节点Java学院整理
2017/06/26 Javascript
浅谈ECMAScript6新特性之let、const
2017/08/02 Javascript
利用vue.js实现被选中状态的改变方法
2018/02/08 Javascript
跨域解决之JSONP和CORS的详细介绍
2018/11/21 Javascript
vue-cli中安装方法(图文详细步骤)
2018/12/12 Javascript
python 读入多行数据的实例
2018/04/19 Python
详解pytorch 0.4.0迁移指南
2019/06/16 Python
利用Python的turtle库绘制玫瑰教程
2019/11/23 Python
pycharm配置安装autopep8自动规范代码的实现
2021/03/02 Python
中国首家奢侈品O2O网购平台:第五大道奢侈品网
2017/12/14 全球购物
Java基础类库面试题
2013/09/04 面试题
文员岗位职责
2013/11/09 职场文书
会计实习自我鉴定
2013/12/04 职场文书
《找不到快乐的波斯猫》教学反思
2014/02/24 职场文书
大学新生军训自我鉴定
2014/03/18 职场文书
中学生运动会口号
2014/06/07 职场文书
学校四风问题对照检查材料思想汇报
2014/09/26 职场文书
涉及车辆房产分割的离婚协议书范文
2014/10/12 职场文书
大学生旷课检讨书1000字
2015/02/19 职场文书
Django一小时写出账号密码管理系统
2021/04/29 Python
Python音乐爬虫完美绕过反爬
2021/08/30 Python
Nginx+Tomcat负载均衡多实例详解
2022/04/11 Servers
Mysql中@和@@符号的详细使用指南
2022/06/05 MySQL