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 验证插件 Web前端设计模式(asp.net)
Oct 17 Javascript
jQuery简单图表peity.js使用示例
May 02 Javascript
js实现正方形颜色从下往上升的效果
Aug 04 Javascript
什么是 AngularJS?AngularJS简介
Dec 06 Javascript
JS简单计算器实例
Jan 20 Javascript
jQuery与getJson结合的用法实例
Aug 07 Javascript
js模仿php中strtotime()与date()函数实现方法
Aug 11 Javascript
JS动态加载脚本并执行回调操作
Aug 24 Javascript
郁闷!ionic中获取ng-model绑定的值为undefined如何解决
Aug 27 Javascript
ligerUI---ListBox(列表框可移动的实例)
Nov 28 Javascript
通过JS判断网页是否为手机打开
Oct 28 Javascript
基于vuex实现购物车功能
Jan 10 Vue.js
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
smarty模板嵌套之include与fetch性能测试
2010/12/05 PHP
php 中的4种标记风格介绍
2012/05/10 PHP
PHP sprintf() 函数的应用(定义和用法)
2012/06/29 PHP
php 中奖概率算法实现代码
2017/01/25 PHP
thinkphp5.1框架模板赋值与变量输出示例
2020/05/25 PHP
实现复选框全选/全不选切换
2006/12/23 Javascript
JQuery 获得绝对,相对位置的坐标方法
2010/02/09 Javascript
javascript之学会吝啬 精简代码
2010/04/25 Javascript
用js判断页面刷新或关闭的方法(onbeforeunload与onunload事件)
2012/06/22 Javascript
js的alert弹出框出现乱码解决方案
2013/09/02 Javascript
javascript转换日期字符串为Date日期对象的方法
2015/02/13 Javascript
javascript正则表达式中的replace方法详解
2015/04/20 Javascript
javascript限制文本框输入值类型的方法
2015/05/07 Javascript
jQuery使用经验小技巧(推荐)
2016/05/31 Javascript
AngularJS路由切换实现方法分析
2017/03/17 Javascript
koa+mongoose实现简单增删改查接口的示例代码
2019/05/13 Javascript
用node.js写一个jenkins发版脚本
2019/05/21 Javascript
微信小程序前端自定义分享的实现方法
2019/06/13 Javascript
采用Psyco实现python执行速度提高到与编译语言一样的水平
2014/10/11 Python
python中随机函数random用法实例
2015/04/30 Python
详解Django中的ifequal和ifnotequal标签使用
2015/07/16 Python
Python算法应用实战之队列详解
2017/02/04 Python
Python3.5 Pandas模块之DataFrame用法实例分析
2019/04/23 Python
Python Django Vue 项目创建过程详解
2019/07/29 Python
用html5的canvas和JavaScript创建一个绘图程序的简单实例
2016/07/06 HTML / CSS
html5中canvas图表实现柱状图的示例
2017/11/13 HTML / CSS
大专生自荐信
2013/10/04 职场文书
保险专业大学生职业规划书
2014/03/03 职场文书
网络优化专员求职信
2014/05/04 职场文书
企业员工薪酬方案
2014/06/04 职场文书
大学生标准自荐书
2014/06/15 职场文书
安全第一课观后感
2015/06/18 职场文书
人民的好儿女观后感
2015/06/18 职场文书
班级元旦晚会开幕词
2016/03/04 职场文书
MySQL kill不掉线程的原因
2021/05/07 MySQL
详解PHP设计模式之依赖注入模式
2021/05/25 PHP