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 相关文章推荐
ppk谈JavaScript style属性
Oct 10 Javascript
JS继承--原型链继承和类式继承
Apr 08 Javascript
浅析tr的隐藏和显示问题
Mar 05 Javascript
Bootstrap的class样式小结
Dec 01 Javascript
yarn的使用与升级Node.js的方法详解
Jun 04 Javascript
基于jquery日历价格、库存等设置插件
Jul 05 jQuery
详解Angular Reactive Form 表单验证
Jul 06 Javascript
JS实现的走迷宫小游戏完整实例
Jul 19 Javascript
vue源码学习之Object.defineProperty 对数组监听
May 30 Javascript
基于mpvue小程序使用echarts画折线图的方法示例
Apr 24 Javascript
微信小程序实现电影App导航和轮播
Nov 30 Javascript
vue集成一个支持图片缩放拖拽的富文本编辑器
Jan 29 Vue.js
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
调频问题解答
2021/03/01 无线电
Apache设置虚拟WEB
2006/10/09 PHP
写php分页时出现的Fatal error的解决方法
2011/04/18 PHP
Yii Framework框架获取分类下面的所有子类方法
2014/06/20 PHP
PHP插件PHPMailer发送邮件功能
2017/02/28 PHP
PHP中使用CURL发送get/post请求上传图片批处理功能
2018/10/15 PHP
javascript之ESC(第二类混淆)
2007/05/06 Javascript
给Flash加一个超链接(推荐使用透明层)兼容主流浏览器
2013/06/09 Javascript
js setTimeout 参数传递使用介绍
2013/08/13 Javascript
谈谈JavaScript异步函数发展历程
2015/09/29 Javascript
JS中对数组元素进行增删改移的方法总结
2016/12/15 Javascript
浅谈vue中改elementUI默认样式引发的static与assets的区别
2018/02/03 Javascript
JS使用tween.js动画库实现轮播图并且有切换功能
2018/07/17 Javascript
vue-cli初始化项目中使用less的方法
2018/08/09 Javascript
layui中table表头样式修改方法
2018/08/15 Javascript
用js编写留言板
2020/03/17 Javascript
Python中列表和元组的相关语句和方法讲解
2015/08/20 Python
Mac中升级Python2.7到Python3.5步骤详解
2017/04/27 Python
Python如何爬取微信公众号文章和评论(基于 Fiddler 抓包分析)
2019/06/28 Python
python实现按关键字筛选日志文件
2019/12/24 Python
PyTorch实现重写/改写Dataset并载入Dataloader
2020/07/14 Python
Mountain Warehouse澳大利亚官网:欧洲家庭户外品牌倡导者
2016/11/20 全球购物
意大利领先的线上奢侈品销售电商:Eleonora Bonucci
2017/10/17 全球购物
意大利时尚精品店:Nugnes 1920
2020/02/10 全球购物
家长评语和期望
2014/02/10 职场文书
乡镇干部十八大感言
2014/02/17 职场文书
2014党员干部四风问题对照检查材料思想汇报
2014/09/24 职场文书
精神病医院见习报告
2014/11/03 职场文书
招标保密承诺书
2015/01/20 职场文书
工作失职自我检讨书
2015/05/05 职场文书
大学感恩节活动总结
2015/05/05 职场文书
2015年度对口支援工作总结
2015/07/22 职场文书
初三英语教学反思
2016/02/15 职场文书
2019班干部竞选演讲稿范本!
2019/07/08 职场文书
Pytorch distributed 多卡并行载入模型操作
2021/06/05 Python
一定要知道的 25 个 Vue 技巧
2021/11/02 Vue.js