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 相关文章推荐
Mootools 1.2教程 选项卡效果(Tabs)
Sep 15 Javascript
在html页面上拖放移动标签
Jan 08 Javascript
Jquery公告滚动+AJAX后台得到数据
Apr 14 Javascript
jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
Apr 27 Javascript
JavaScript中把数字转换为字符串的程序代码
Jun 19 Javascript
javascript操作符&quot;!~&quot;详解
Feb 10 Javascript
一个仿微博登陆邮箱提示框js开发案例
Jul 28 Javascript
详解angularjs获取元素以及angular.element()用法
Jul 25 Javascript
使用DataTable插件实现异步加载数据
Nov 19 Javascript
Vue项目组件化工程开发实践方案
Jan 09 Javascript
Swiper 4.x 使用方法(移动端网站的内容触摸滑动)
May 17 Javascript
从理论角度讨论JavaScript闭包
Apr 03 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
实现了一个PHP5的getter/setter基类的代码
2007/02/25 PHP
PHP MVC模式在网站架构中的实现分析
2010/03/04 PHP
ThinkPHP空模块和空操作详解
2014/06/30 PHP
PHP常见漏洞攻击分析
2016/02/21 PHP
PHP使用Memcache时模拟命名空间及缓存失效问题的解决
2016/02/27 PHP
PHP实现微信对账单处理
2018/10/01 PHP
PHP实现微信申请退款功能
2018/10/01 PHP
defer属性导致引用JQuery的页面报“浏览器无法打开网站xxx,操作被中止”错误的解决方法
2010/04/27 Javascript
jQuery EasyUI API 中文文档 - Menu菜单
2011/10/03 Javascript
通过Javascript创建一个选择文件的对话框代码
2012/06/16 Javascript
javascipt匹配单行和多行注释的正则表达式
2013/11/20 Javascript
Thinkphp模板没有解析直接原样输出的解决方法
2014/10/31 Javascript
jQuery滚动插件scrollable.js用法分析
2017/05/25 jQuery
Angular2+国际化方案(ngx-translate)的示例代码
2017/08/23 Javascript
详解使用vuex进行菜单管理
2017/12/21 Javascript
JS实现全屏预览F11功能的示例代码
2018/07/23 Javascript
Angular脚手架开发的实现步骤
2019/04/09 Javascript
通过实例讲解JS如何防抖动
2019/06/15 Javascript
JavaScript实现网页跨年倒计时
2020/12/02 Javascript
Python Web框架Flask中使用七牛云存储实例
2015/02/08 Python
简单介绍Python中的readline()方法的使用
2015/05/24 Python
python匿名函数的使用方法解析
2019/10/10 Python
python实现超市管理系统(后台管理)
2019/10/25 Python
Python实现屏幕录制功能的代码
2020/03/02 Python
pandas 像SQL一样使用WHERE IN查询条件说明
2020/06/05 Python
如何在Python3中使用telnetlib模块连接网络设备
2020/09/21 Python
Python字符串查找基本操作代码案例
2020/10/27 Python
总结30个CSS3选择器
2017/04/13 HTML / CSS
html5 canvas fillRect坐标和大小的问题解决方法
2014/03/26 HTML / CSS
HTML5 CSS3打造相册效果附源码下载
2014/06/16 HTML / CSS
英国排名第一的宠物店:PetPlanet
2020/02/02 全球购物
求职自荐信
2013/12/14 职场文书
小学中等生评语
2014/12/29 职场文书
学雷锋献爱心活动总结
2015/05/11 职场文书
我在伊朗长大观后感
2015/06/16 职场文书
css3实现的加载动画效果
2021/04/07 HTML / CSS