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 处理网页内容的实现代码
Feb 15 Javascript
详解JavaScript中this关键字的用法
May 26 Javascript
基于AngularJs + Bootstrap + AngularStrap相结合实现省市区联动代码
May 30 Javascript
Jquery对新插入的节点 绑定Click事件失效的解决方法
Jun 02 Javascript
基于jQuery.validate及Bootstrap的tooltip开发气泡样式的表单校验组件思路详解
Jul 18 Javascript
Websocket协议详解及简单实例代码
Dec 12 Javascript
基本DOM节点操作
Jan 17 Javascript
详解angularjs的数组传参方式的简单实现
Jul 28 Javascript
[原创]jquery判断元素内容是否为空的方法
May 04 jQuery
vue 弹框产生的滚动穿透问题的解决
Sep 21 Javascript
在Vue项目中使用jsencrypt.js对数据进行加密传输的方法
Apr 17 Javascript
vue与django集成打包的实现方法
Nov 11 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基于curl扩展制作跨平台的restfule 接口
2015/05/11 PHP
php判断对象是派生自哪个类的方法
2015/06/20 PHP
laravel withCount 统计关联数量的方法
2019/10/10 PHP
javascript 获取图片尺寸及放大图片
2013/09/04 Javascript
jquery实现的网页自动播放声音
2014/04/30 Javascript
解决WordPress使用CDN后博文无法评论的错误
2015/12/15 Javascript
原生javascript实现自动更新的时间日期
2016/02/12 Javascript
JavaScript实现Java中Map容器的方法
2016/10/09 Javascript
RequireJs的使用详解
2017/02/19 Javascript
JS ES6中setTimeout函数的执行上下文示例
2017/04/27 Javascript
vue init webpack myproject构建项目 ip不能访问的解决方法
2018/03/20 Javascript
详解angular部署到iis出现404解决方案
2018/08/14 Javascript
超详细动手搭建一个VuePress 站点及开启PWA与自动部署的方法
2019/01/27 Javascript
Vue自动构建发布脚本的方法示例
2020/07/24 Javascript
VSCode插件安装完成后的配置(常用配置)
2020/08/24 Javascript
基于JavaScript实现简单抽奖功能代码实例
2020/10/20 Javascript
react中hook介绍以及使用教程
2020/12/11 Javascript
Python中列表和元组的相关语句和方法讲解
2015/08/20 Python
Python2.x利用commands模块执行Linux shell命令
2016/03/11 Python
如何利用Fabric自动化你的任务
2016/10/20 Python
初探TensorFLow从文件读取图片的四种方式
2018/02/06 Python
Python列表删除元素del、pop()和remove()的区别小结
2019/09/11 Python
Selenium基于PIL实现拼接滚动截图
2020/04/10 Python
numpy库reshape用法详解
2020/04/19 Python
Python通过两个dataframe用for循环求笛卡尔积
2020/04/29 Python
python 线程的五个状态
2020/09/22 Python
CSS3只让背景图片旋转180度的实现示例
2021/03/09 HTML / CSS
Html5 postMessage实现跨域消息传递
2016/03/11 HTML / CSS
LivingSocial英国:英国本地优惠
2019/02/22 全球购物
沙特阿拉伯电子产品和家用电器购物网站:Black Box
2019/07/24 全球购物
意大利单身交友网站:Meetic
2020/07/12 全球购物
优秀教师感人事迹材料
2014/05/04 职场文书
工商行政管理专业求职书
2014/05/23 职场文书
群众路线四风对照检查材料
2014/11/04 职场文书
欢迎词范文
2015/01/27 职场文书
2015年八一建军节慰问信
2015/03/23 职场文书