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 相关文章推荐
JS效率个人经验谈(8-15更新),加入range技巧
Jan 09 Javascript
不一样的文字闪烁 轮番闪烁
Nov 11 Javascript
调用jQuery滑出效果时闪烁的解决方法
Mar 27 Javascript
jQuery删除一个元素后淡出效果展示删除过程的方法
Mar 18 Javascript
JavaScript数据类型详解
Apr 01 Javascript
JS实现的竖向折叠菜单代码
Oct 21 Javascript
基于HTML+CSS+JS实现增加删除修改tab导航特效代码
Aug 05 Javascript
vue分页组件table-pagebar使用实例解析
Nov 15 Javascript
vue2.0开发实践总结之疑难篇
Dec 07 Javascript
vue实现列表的添加点击
Dec 29 Javascript
JavaScript原生实现观察者模式的示例
Dec 15 Javascript
Node 搭建一个静态资源服务器的实现
May 20 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时间不正确的解决方法
2008/04/09 PHP
php小经验:解析preg_match与preg_match_all 函数
2013/06/29 PHP
php获取操作系统语言代码
2013/11/04 PHP
php基于ob_start(ob_gzhandler)实现网页压缩功能的方法
2017/02/18 PHP
thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
2019/10/10 PHP
实现复选框全选/全不选切换
2006/12/23 Javascript
jquery 插件学习(四)
2012/08/06 Javascript
Textbox控件注册回车事件及触发按钮提交事件具体实现
2013/03/04 Javascript
javascript 数组排序函数sort和reverse使用介绍
2013/11/21 Javascript
自制的文件上传JS控件可支持IE、chrome、firefox etc
2014/04/18 Javascript
node.js中的fs.lchmod方法使用说明
2014/12/16 Javascript
第十篇BootStrap轮播插件使用详解
2016/06/21 Javascript
Javascript之面向对象--方法
2016/12/02 Javascript
Node.js如何响应Ajax的POST请求并且保存为JSON文件详解
2017/03/10 Javascript
Bootstrap table表格初始化表格数据的方法
2018/07/25 Javascript
简述pm2常用命令集合及配置文件说明
2019/05/30 Javascript
JS正则表达式常见函数与用法小结
2020/04/13 Javascript
vue实现页面切换滑动效果
2020/06/29 Javascript
详解JavaScript 作用域
2020/07/14 Javascript
python中字符串类型json操作的注意事项
2017/05/02 Python
Python Web程序部署到Ubuntu服务器上的方法
2018/02/22 Python
python3爬虫之设计签名小程序
2018/06/19 Python
使用python生成杨辉三角形的示例代码
2018/08/29 Python
Jupyter notebook在mac:linux上的配置和远程访问的方法
2019/01/14 Python
TensorFlow MNIST手写数据集的实现方法
2020/02/05 Python
西班牙美妆电商:Perfume’s Club(有中文站)
2018/08/08 全球购物
精灵市场:Pixie Market
2019/06/18 全球购物
经理管理专业自荐信范文
2013/12/31 职场文书
教育科研先进个人材料
2014/01/26 职场文书
学校三八妇女节活动情况总结
2014/03/09 职场文书
局火灾防控工作方案
2014/05/25 职场文书
保护动物的标语
2014/06/11 职场文书
2014年化验室工作总结
2014/11/21 职场文书
导游词之新疆尼雅遗址
2019/10/16 职场文书
关于python中模块和重载的问题
2021/11/02 Python
Typescript类型系统FLOW静态检查基本规范
2022/05/25 Javascript