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 相关文章推荐
基于node.js的快速开发透明代理
Dec 25 Javascript
JS、CSS以及img对DOMContentLoaded事件的影响
Aug 12 Javascript
JS实现的另类手风琴效果网页内容切换代码
Sep 08 Javascript
JavaScript组件开发完整示例
Dec 15 Javascript
JS中判断字符串中出现次数最多的字符及出现的次数的简单实例
Jun 03 Javascript
js动态添加的DIV中的onclick事件简单实例
Jul 25 Javascript
详解js中Json的语法与格式
Nov 22 Javascript
vue组件实现弹出框点击显示隐藏效果
Oct 26 Javascript
JS简单生成由字母数字组合随机字符串示例
May 25 Javascript
JS检索下拉列表框中被选项目的索引号(selectedIndex)
Dec 17 Javascript
图解JS原型和原型链实现原理
Sep 15 Javascript
vue中实现点击变成全屏的多种方法
Sep 27 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 特殊字符处理函数
2008/09/05 PHP
PHP Directory 函数的详解
2013/03/07 PHP
PHP中is_file不能替代file_exists的理由
2014/03/04 PHP
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
2014/10/30 PHP
thinkPHP5实现数据库添加内容的方法
2017/10/25 PHP
ThinkPHP 5.x远程命令执行漏洞复现
2019/09/23 PHP
写了一个layout,拖动条连贯,内容区可为iframe
2007/08/19 Javascript
JS删除数组元素的函数介绍
2013/03/27 Javascript
jquery html动态生成select标签出问题的解决方法
2013/11/20 Javascript
jquery 显示*天*时*分*秒实现时间计时器
2014/05/07 Javascript
详解Javascript动态操作CSS
2014/12/08 Javascript
通过Jquery.cookie.js实现展示浏览网页的历史记录超管用
2015/10/23 Javascript
Vue.js报错Failed to resolve filter问题的解决方法
2016/05/25 Javascript
JS从一组数据中找到指定的单条数据的方法
2016/06/02 Javascript
Javascript创建类和对象详解
2017/05/31 Javascript
Vue2.0实现组件数据的双向绑定问题
2018/03/06 Javascript
解决修复npm安装全局模块权限的问题
2018/05/17 Javascript
js 判断当前时间是否处于某个一个时间段内
2019/09/19 Javascript
layui文件上传控件带更改后数据传值的方法
2019/09/23 Javascript
jQuery实现王者荣耀手风琴效果
2020/01/17 jQuery
基于pandas将类别属性转化为数值属性的方法
2018/07/25 Python
Python 使用list和tuple+条件判断详解
2019/07/30 Python
如何使用Python脚本实现文件拷贝
2019/11/20 Python
用Python实现校园通知更新提醒功能
2019/11/23 Python
python实现逆滤波与维纳滤波示例
2020/02/26 Python
CSS3实战第一波 让我们尽情的圆角吧
2010/08/27 HTML / CSS
纯css3实现的动画按钮的实例教程
2014/11/17 HTML / CSS
美国最大的珠宝商之一:Littman Jewelers
2016/11/13 全球购物
荷兰网上鞋店:Ziengs.nl
2017/01/02 全球购物
英国休闲奢华的缩影:Crew Clothing
2019/05/05 全球购物
博朗(Braun)俄罗斯官方商店:德国小家电品牌
2019/09/24 全球购物
先进个人事迹材料
2014/01/25 职场文书
《石榴》教学反思
2014/03/02 职场文书
学习经验演讲稿
2014/05/10 职场文书
食品药品安全责任书
2015/05/11 职场文书
Spark SQL 2.4.8 操作 Dataframe的两种方式
2021/10/16 SQL Server