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+Ajax+Json的高效分页实现代码
Oct 29 Javascript
JQuery 获取json数据$.getJSON方法的实例代码
Aug 02 Javascript
JavaScript中使用Object.create()创建对象介绍
Dec 30 Javascript
jQuery实现垂直半透明手风琴特效代码分享
Aug 21 Javascript
JS基于VML技术实现的五角星礼花效果代码
Oct 26 Javascript
基于JavaScript实现瀑布流布局(二)
Jan 26 Javascript
关于Jquery中的事件绑定总结
Oct 26 Javascript
基于 Vue 的树形选择组件的示例代码
Aug 18 Javascript
Vue-cli 使用json server在本地模拟请求数据的示例代码
Nov 02 Javascript
JS实现判断图片是否加载完成的方法分析
Jul 31 Javascript
VueCli3.0中集成MockApi的方法示例
Jul 05 Javascript
原生js实现滑块区间组件
Jan 20 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
文件上传类
2006/10/09 PHP
discuz authcode 经典php加密解密函数解析
2020/07/12 PHP
Ext 表单布局实例代码
2009/04/30 Javascript
Javascript学习笔记5 类和对象
2010/01/11 Javascript
js ondocumentready onmouseover onclick onmouseout 样式
2010/07/22 Javascript
JQuery datepicker 使用方法
2011/05/20 Javascript
js前台分页显示后端JAVA数据响应
2013/03/18 Javascript
js实现三张图(文)片一起切换的banner焦点图
2015/08/25 Javascript
Angularjs根据json文件动态生成路由状态的实现方法
2017/04/17 Javascript
Node.js  REPL (交互式解释器)实例详解
2017/08/06 Javascript
js实现网页的两个input标签内的数值加减(示例代码)
2017/08/15 Javascript
微信小程序滚动Tab实现左右可滑动切换
2017/08/17 Javascript
JS中实现隐藏部分姓名或者电话号码的代码
2018/07/17 Javascript
openlayers4实现点动态扩散
2020/08/17 Javascript
JS实现选项卡插件的两种写法(jQuery和class)
2020/12/30 jQuery
[43:03]完美世界DOTA2联赛PWL S2 PXG vs Magma 第二场 11.21
2020/11/24 DOTA
python的Crypto模块实现AES加密实例代码
2018/01/22 Python
用python处理MS Word的实例讲解
2018/05/08 Python
Python解析并读取PDF文件内容的方法
2018/05/08 Python
Selenium 模拟浏览器动态加载页面的实现方法
2018/05/16 Python
Python设计模式之享元模式原理与用法实例分析
2019/01/11 Python
Python range、enumerate和zip函数用法详解
2019/09/11 Python
python+selenium+Chrome options参数的使用
2020/03/18 Python
如何在scrapy中捕获并处理各种异常
2020/09/28 Python
专门经营化妆刷的美国彩妆品牌:Sigma Beauty
2017/09/11 全球购物
毕业生自荐信的主要内容
2013/10/29 职场文书
出纳员岗位职责风险
2014/03/06 职场文书
环保建议书作文
2014/03/12 职场文书
太太口服液广告词
2014/03/20 职场文书
民事诉讼代理授权委托书范本
2014/10/08 职场文书
2015年入党决心书
2015/02/05 职场文书
结婚堵门保证书
2015/05/08 职场文书
如何计划开一家便利店?
2019/07/31 职场文书
win11如何查看端口是否被占用? Win11查看端口是否占用的技巧
2022/04/05 数码科技
Meta增速拉垮,元宇宙难当重任
2022/04/29 数码科技
德生2P3收音机开箱评测
2022/04/30 无线电