function BrowserInfo() {

var ua = navigator.userAgent.toLowerCase();

var Sys = {};

var s;

(s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] : (s = ua

.match(/Trident\/(\d+)/i)) ? Sys.ie11 = s[1] : (s = ua

.match(/edge.([\d.]+)/)) ? Sys.edge = s[1] : (s = ua

.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] : (s = ua

.match(/opr.([\d.]+)/)) ? Sys.opera = s[1] : (s = ua

.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] : (s = ua

.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] : (s = ua

.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;

var mBrowserInfo = {};

if (Sys.ie) {

mBrowserInfo.name = "IE";

mBrowserInfo.version =  parseInt(Sys.ie);

} else if (Sys.ie11) {

mBrowserInfo.name = "IE";

mBrowserInfo.version = 11;

} else if (Sys.firefox) {

mBrowserInfo.name = "Firefox";

mBrowserInfo.version = Sys.firefox;

} else if (Sys.chrome) {

mBrowserInfo.name = "Chrome";

mBrowserInfo.version = Sys.chrome;

} else if (Sys.opera) {

mBrowserInfo.name = "Opera";

mBrowserInfo.version = Sys.opera;

} else if (Sys.safari) {

mBrowserInfo.name = "Safari";

mBrowserInfo.version = Sys.safari;

} else if (Sys.edge) {

mBrowserInfo.name = "Edge";

mBrowserInfo.version = Sys.edge;

} else {

//默认Chrome

mBrowserInfo.name = "Chrome";

mBrowserInfo.version = 0;

}

return  mBrowserInfo;

}

js分辨浏览器类别和版本的更多相关文章

  1. js获取浏览器类型和版本信息

    bro () { let broName = 'Runing' let strStart = 0 let strStop = 0 let temp = '' let userAgent = windo ...

  2. js获取浏览器信息及版本(兼容IE)

    获取浏览器信息方法有很多种,但是要是兼容ie旧版本就有点麻烦了,因为很多方法在旧版本ie是不支持的,所以ie我做了单独处理,但是目前还有小问题,就是想显示QQ浏览器,搜狗浏览器..这样的,这样还实现不 ...

  3. JS判断浏览器类型及版本

    浏览器 ie firefox opera safari chrome 分类: 一路辛酸---JavaScript 你知道世界上有多少种浏览器吗?除了我们熟知的IE, Firefox, Opera, S ...

  4. js判断浏览器类型以及版本

    你知道世界上有多少种浏览器吗?除了我们熟知的IE, Firefox, Opera, Safari四大浏览器之外,世界上还有近百种浏览器. 几天前,浏览器家族有刚诞生了一位小王子,就是Google推出的 ...

  5. JS判断浏览器类型与版本

    在JS中判断浏览器的类型,估计是每个编辑过页面的开发人员都遇到过的问题.在众多的浏览器产品中,IE.Firefox.Opera.Safari........众多品牌却标准不一,因此时常需要根据不同的浏 ...

  6. js判断浏览器类型和版本

    原网址:http://www.cnblogs.com/rubylouvre/archive/2009/10/14/1583362.html 除了另无它法,肯定不使用navigator.userAgen ...

  7. JS获取浏览器名和版本信息

    Navigator 对象包含有关浏览器的信息. Navigator 对象属性和方法: <html> <head> <title>JS完整获取浏览器信息</ti ...

  8. js 判断浏览器类型及版本

    1.思路: 能力检测 + 字符串检索 2.例子 IE    Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)      ActiveXObject函 ...

  9. js查看浏览器类型和版本

    var Sys = {}; var ua = navigator.userAgent.toLowerCase(); var s; var scan; (s = ua.match(/msie ([\d. ...

随机推荐

  1. BZOJ 1433 二分图上的博弈

    首先对网格染色,发现是而二分图. 那么即在二分图上选一个起点走过的点无法再走,最后无路可走就输了. 如果起点必在最大匹配中,先手必赢. 如果起点不一定在最大匹配中(包括不可能在),后手必赢.网上有解释 ...

  2. memcache详解

    MemCache是一个自由.源码开放.高性能.分布式的分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高了网站访问的速度. Me ...

  3. HDU 4768 (二分区间---涨姿势)

    题意:告诉n组A,B,C,按照A + k * C生成等差数列,问这n组数列中哪个数字出现了奇数次以及出现了几次,题目保证最多只会出现一个这种数字. 分析:读完题并没有思路,后来知道是二分区间,枚举是哪 ...

  4. NPOI设置Excel保护

    有时,我们可能需要某些单元格只读,如在做模板时,模板中的数据是不能随意让别人改的.在Excel中,可以通过“审阅->保护工作表”来完成,如下图:  那么,在NPOI中有没有办法通过编码的方式达到 ...

  5. 动态添加Marquee标签,并动态赋值与属性

    前台加载js $(function(){ var publishStr="<%=publishText%>" var marqueeStr=" <mar ...

  6. iOS常用设计模式和机制之代理

    Delegate : 1 代理设计模式的使用我们首先需要明白三个要素 *委托方:委托别人去执行某些操作的人(对象) *代理方:被委托区执行某些操作的人(对象) *协议:(protocol)委托方需要代 ...

  7. OC前15天重点回顾

  8. IEnumerable 和 IQueryable 区别

    IQueryable继承自IEnumerable,所以对于数据遍历来说,它们没有区别. 但是IQueryable的优势是它有表达式树,所有对于IQueryable的过滤,排序等操作,都会先缓存到表达式 ...

  9. Python之paramiko基础

    一.Paramiko模块 paramiko是一个自由和开放源码模块使用,实现SSH2协议安全(认证和加密)连接到远程计算机. 二.windwos下安装paramiko模块 #在DOS命令行执行如下命令 ...

  10. Mac 下 Intellij IDEA 2016.1.2+maven+jetty+ JRebel 6.4.3 破解+spring mvc

    准备阶段:  Intellij IDEA 2016.1.2 (官方下载,作者下载的是社区版): JRebel for IntelliJ插件安装,可选择在线安装,在线安装的是最新版,我选择本地安装, 下 ...