javascript 获取浏览器版本


Posted in Javascript onJanuary 21, 2015

工作中需要通过JS去获取当前使用的浏览器的名字以及版本号,网上大堆资料都有一个关键词是 navigator.appName,但是这个方法获取的浏览器的名字只有两种要么是IE要么就是Netscap,倒是可以用来判断是否使用了IE,但是我想获取具体的浏览器产品名字比如  Firefox,Chrome等。

function BroswerUtil() {

}

BroswerUtil.prototype = {

    getBrowserVersion: function () {

        var agent = navigator.userAgent.toLowerCase();

        var arr = [];

        var Browser = "";

        var Bversion = "";

        var verinNum = "";

        //IE

        if (agent.indexOf("msie") > 0) {

            var regStr_ie = /msie [\d.]+;/gi;

            Browser = "IE";

            Bversion = "" + agent.match(regStr_ie)

        }

        //firefox

        else if (agent.indexOf("firefox") > 0) {

            var regStr_ff = /firefox\/[\d.]+/gi;

            Browser = "firefox";

            Bversion = "" + agent.match(regStr_ff);

        }

        //Chrome

        else if (agent.indexOf("chrome") > 0) {

            var regStr_chrome = /chrome\/[\d.]+/gi;

            Browser = "chrome";

            Bversion = "" + agent.match(regStr_chrome);

        }

        //Safari

        else if (agent.indexOf("safari") > 0 && agent.indexOf("chrome") < 0) {

            var regStr_saf = /version\/[\d.]+/gi;

            Browser = "safari";

            Bversion = "" + agent.match(regStr_saf);

        }

        //Opera

        else if (agent.indexOf("opera") >= 0) {

            var regStr_opera = /version\/[\d.]+/gi;

            Browser = "opera";

            Bversion = "" + agent.match(regStr_opera);

        } else {

            var browser = navigator.appName;

            if (browser == "Netscape") {

                var version = agent.split(";");

                var trim_Version = version[7].replace(/[ ]/g, "");

                var rvStr = trim_Version.match(/[\d\.]/g).toString();

                var rv = rvStr.replace(/[,]/g, "");

                Bversion = rv;

                Browser = "IE"

            }

        }

        verinNum = (Bversion + "").replace(/[^0-9.]/ig, "");

        arr.push(Browser);

        arr.push(verinNum);

        return arr;

    },

    WB: (function () {

        var UserAgent = navigator.userAgent.toLowerCase();

        alert(UserAgent)

        return {

            isIE6: /msie 6.0/.test(UserAgent), // IE6

            isIE7: /msie 7.0/.test(UserAgent), // IE7

            isIE8: /msie 8.0/.test(UserAgent), // IE8

            isIE9: /msie 9.0/.test(UserAgent), // IE9

            isIE10: /msie 10.0/.test(UserAgent), // IE10

            isIE11: /msie 11.0/.test(UserAgent), // IE11

            isLB: /lbbrowser/.test(UserAgent), // 猎豹浏览器

            isUc: /ucweb/.test(UserAgent), // UC浏览器

            is360: /360se/.test(UserAgent), // 360浏览器

            isBaidu: /bidubrowser/.test(UserAgent), // 百度浏览器

            isSougou: /metasr/.test(UserAgent), // 搜狗浏览器

            isChrome: /chrome/.test(UserAgent.substr(-33, 6)), // Chrome浏览器

            isFirefox: /firefox/.test(UserAgent), // 火狐浏览器

            isOpera: /opera/.test(UserAgent),  // Opera浏览器

            isSafire: /safari/.test(UserAgent) && !/chrome/.test(UserAgent), // safire浏览器

            isQQ:/qqbrowser/.test(UserAgent)//qq浏览器

        };

    })()

}

以上本文的全部内容,希望小伙伴们能够喜欢。

Javascript 相关文章推荐
通过jquery的$.getJSON做一个跨域ajax请求试验
May 03 Javascript
可在线编辑网页文字效果代码(单击)
Mar 02 Javascript
为jQuery添加Webkit的触摸的方法分享
Feb 02 Javascript
JQuery弹出炫丽对话框的同时让背景变灰色
May 22 Javascript
jQuery 实现自动填充邮箱功能(带下拉提示)
Oct 14 Javascript
JavaScript学习心得之概述
Jan 20 Javascript
jQuery实现右下角可缩放大小的层完整实例
Jun 20 Javascript
原生JS实现图片轮播效果
Dec 26 Javascript
微信小程序 缓存(本地缓存、异步缓存、同步缓存)详解
Jan 17 Javascript
Angular实现的日程表功能【可添加及隐藏显示内容】
Dec 27 Javascript
JS实现移动端触屏拖拽功能
Jul 31 Javascript
JS实现获取自定义属性data值的方法示例
Dec 19 Javascript
javascript 实现 原路返回
Jan 21 #Javascript
html的DOM中document对象forms集合用法实例
Jan 21 #Javascript
浅谈javascript 函数内部属性
Jan 21 #Javascript
浅谈javascript 函数属性和方法
Jan 21 #Javascript
html的DOM中document对象images集合用法实例
Jan 21 #Javascript
浅谈javascript面向对象程序设计
Jan 21 #Javascript
html的DOM中Event对象onabort事件用法实例
Jan 21 #Javascript
You might like
PHP 读取文件内容代码(txt,js等)
2009/12/06 PHP
PHP MVC模式在网站架构中的实现分析
2010/03/04 PHP
基于PHP实现商品成交时发送短信功能
2016/05/11 PHP
分享几种好用的PHP自定义加密函数(可逆/不可逆)
2020/09/15 PHP
通过event对象的fromElement属性解决热区设置主实体的一个bug
2008/12/22 Javascript
JavaScript的变量作用域深入理解
2009/10/25 Javascript
javascript自适应宽度的瀑布流实现思路
2013/02/20 Javascript
不得不分享的JavaScript常用方法函数集(下)
2015/12/25 Javascript
基于JS实现回到页面顶部的五种写法(从实现到增强)
2016/09/03 Javascript
基于jQuery实现歌词滚动版音乐播放器的代码
2016/09/17 Javascript
浅述节点的创建及常见功能的实现
2016/12/15 Javascript
Javascript for in的缺陷总结
2017/02/03 Javascript
JavaScript 巧学巧用
2017/05/23 Javascript
关于Promise 异步编程的实例讲解
2017/09/01 Javascript
jQuery实现可兼容IE6的滚动监听功能
2017/09/20 jQuery
解决低版本的浏览器不支持es6的import问题
2018/03/09 Javascript
详解Vue 项目中的几个实用组件(ts)
2019/10/29 Javascript
Vue elementui字体图标显示问题解决方案
2020/08/18 Javascript
[47:43]Alliance vs KG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
Phantomjs抓取渲染JS后的网页(Python代码)
2016/05/13 Python
Python爬虫实现爬取京东手机页面的图片(实例代码)
2017/11/30 Python
Python设计模式之工厂方法模式实例详解
2019/01/18 Python
python opencv判断图像是否为空的实例
2019/01/26 Python
python按比例随机切分数据的实现
2019/07/11 Python
Python实现一个带权无回置随机抽选函数的方法
2019/07/24 Python
python装饰器代替set get方法实例
2019/12/19 Python
pytorch对梯度进行可视化进行梯度检查教程
2020/02/04 Python
python collections模块的使用
2020/10/16 Python
HTML5实现经典坦克大战坦克乱走还能发出一个子弹
2013/09/02 HTML / CSS
新员工入职感言
2014/02/01 职场文书
高三自我评价
2014/02/01 职场文书
医学生就业推荐表自我鉴定
2014/03/26 职场文书
民族团结先进集体事迹材料
2014/05/22 职场文书
2015年小学图书室工作总结
2015/05/18 职场文书
入党心得体会
2019/06/20 职场文书
浅谈JS的原型和原型链
2021/06/04 Javascript