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 api参考 visualjquery 中国线路 速度快
Nov 30 Javascript
JavaScript 格式字符串的应用
Mar 29 Javascript
一起来写段JS drag拖动代码
Dec 09 Javascript
高效率JavaScript编写技巧整理
Aug 23 Javascript
HTML页面弹出居中可拖拽的自定义窗口层
May 07 Javascript
Javascript核心读书有感之表达式和运算符
Feb 11 Javascript
JavaScript根据CSS的Media Queries来判断浏览设备的方法
May 10 Javascript
浅谈React 属性和状态的一些总结
Nov 21 Javascript
js入门之Function函数的使用方法【新手必看】
Nov 22 Javascript
bootstrap表单按回车会自动刷新页面的解决办法
Mar 08 Javascript
JS实现的判断方法、变量是否存在功能示例
Mar 28 Javascript
JS实现旋转木马轮播图
Jan 01 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面向对象全攻略 (一) 面向对象基础知识
2009/09/30 PHP
PHP开发中常用的三个表单验证函数使用小结
2010/03/03 PHP
探讨如何在PHP开启gzip页面压缩实例
2013/06/09 PHP
神盾加密解密教程(一)PHP变量可用字符
2014/05/28 PHP
php实现获取局域网所有用户的电脑IP和主机名、及mac地址完整实例
2014/07/18 PHP
基于jquery的一个拖拽到指定区域内的效果
2011/09/21 Javascript
jQuery EasyUI API 中文文档 搜索框
2011/09/29 Javascript
JavaScript 中的日期和时间及表示标准介绍
2013/08/21 Javascript
js四舍五入数学函数round使用实例
2014/05/09 Javascript
jquery制做精致的倒计时特效
2016/06/13 Javascript
基于jQuery实现淡入淡出效果轮播图
2020/07/31 Javascript
浅析javaScript中的浅拷贝和深拷贝
2017/02/15 Javascript
JS滚动到指定位置导航栏固定顶部
2017/07/03 Javascript
JS基于for语句编写的九九乘法表示例
2018/01/04 Javascript
浅谈Vue.js路由管理器 Vue Router
2018/08/16 Javascript
javascript中UMD规范的代码推演
2018/08/29 Javascript
React SSR样式及SEO的实践
2018/10/22 Javascript
支付宝小程序tabbar底部导航
2018/11/06 Javascript
微信小程序实现页面下拉刷新和上拉加载功能详解
2018/12/03 Javascript
javascript实现抢购倒计时程序
2019/08/26 Javascript
vue 解决移动端弹出键盘导致页面fixed布局错乱的问题
2019/11/06 Javascript
vue监听滚动事件的方法
2020/12/21 Vue.js
python读取并写入mat文件的方法
2019/07/12 Python
Python unittest工作原理和使用过程解析
2020/02/24 Python
django xadmin中form_layout添加字段显示方式
2020/03/30 Python
详解Python调用系统命令的六种方法
2021/01/28 Python
HTML5 使用 sessionStorage 进行页面传值的方法
2018/07/02 HTML / CSS
UNIX文件名称有什么规定
2013/03/25 面试题
给酒店员工的表扬信
2014/01/11 职场文书
益达广告词
2014/03/14 职场文书
搞笑征婚广告词
2014/03/17 职场文书
仓库管理员岗位职责
2014/03/19 职场文书
大学生推广普通话演讲稿
2014/09/21 职场文书
《中华上下五千年》读后感3篇
2019/11/29 职场文书
redis通过6379端口无法连接服务器(redis-server.exe闪退)
2021/05/08 Redis
go 实现简易端口扫描的示例
2021/05/22 Golang