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之十四 (触发事件核心方法)
Aug 23 Javascript
jQuery之排序组件的深入解析
Jun 19 Javascript
JavaScript面向对象编程入门教程
Apr 16 Javascript
PHPMyAdmin导入时提示文件大小超出PHP限制的解决方法
Mar 30 Javascript
js实现仿Discuz文本框弹出层效果
Aug 13 Javascript
浅谈移动端之js touch事件 手势滑动事件
Nov 07 Javascript
vue解决跨域路由冲突问题思路解析
Nov 03 Javascript
jquery-file-upload 文件上传带进度条效果
Nov 21 jQuery
vue项目webpack中Npm传递参数配置不同域名接口
Jun 15 Javascript
JavaScript惰性载入函数实例分析
Mar 27 Javascript
vue element 关闭当前tab 跳转到上一路由操作
Jul 22 Javascript
Nuxt 项目性能优化调研分析
Nov 07 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中使用getimagesize获取图片、flash等文件的尺寸信息实例
2014/04/29 PHP
php使用Jpgraph创建折线图效果示例
2017/02/15 PHP
php两点地理坐标距离的计算方法
2018/12/29 PHP
[原创]js获取数组任意个不重复的随机数组元素
2010/03/15 Javascript
Knockout数组(observable)使用详解示例
2013/11/15 Javascript
ExtJS判断IE浏览器类型的方法
2014/02/10 Javascript
一个简单的jQuery计算器实现了连续计算功能
2014/07/21 Javascript
2014 HTML5/CSS3热门动画特效TOP10
2014/12/07 Javascript
js实现鼠标感应图片展示的方法
2015/02/27 Javascript
JS+CSS实现表格高亮的方法
2015/08/05 Javascript
实例讲解JS中setTimeout()的用法
2016/01/28 Javascript
原生js代码实现图片放大境效果
2016/10/30 Javascript
jQuery中DOM节点的删除方法总结(超全面)
2017/01/22 Javascript
JS仿JQuery选择器功能
2017/03/08 Javascript
js实现登录框鼠标拖拽效果
2017/03/09 Javascript
获取本机IP地址的实例(JavaScript / Node.js)
2017/11/24 Javascript
详解vue添加删除元素的方法
2018/06/30 Javascript
Vue.js子组件向父组件通信的方法实例代码详解
2018/12/10 Javascript
vue指令之表单控件绑定v-model v-model与v-bind结合使用
2019/04/17 Javascript
JavaScript深入V8引擎以及编写优化代码的5个技巧
2019/06/24 Javascript
vue源码中的检测方法的实现
2019/09/26 Javascript
[31:01]2014 DOTA2国际邀请赛中国区预选赛5.21 CNB VS Orenda
2014/05/23 DOTA
python通过post提交数据的方法
2015/05/06 Python
python实现简单ftp客户端的方法
2015/06/28 Python
Python IDE PyCharm的基本快捷键和配置简介
2015/11/04 Python
ubuntu17.4下为python和python3装上pip的方法
2018/06/12 Python
Python简直是万能的,这5大主要用途你一定要知道!(推荐)
2019/04/03 Python
使用Django和Postgres进行全文搜索的实例代码
2020/02/13 Python
CSS3 3D酷炫立方体变换动画的实现
2019/03/26 HTML / CSS
美国首屈一指的高品质珠宝设计师和零售商:Allurez
2018/01/23 全球购物
法国在线购买汽车轮胎网站:123pneus.fr
2019/02/25 全球购物
《春天来了》教学反思
2014/04/07 职场文书
班主任个人工作反思
2014/04/28 职场文书
读群众路线的心得体会
2014/09/03 职场文书
师德自我剖析材料范文
2014/10/06 职场文书
乡镇党的群众路线教育实践活动总结报告
2014/10/30 职场文书