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的日期格式化算法示例
Jul 31 Javascript
JavaScript SetInterval与setTimeout使用方法详解
Nov 15 Javascript
微信JS接口汇总及使用详解
Jan 09 Javascript
jQuery实现带延迟的二级tab切换下拉列表效果
Sep 01 Javascript
Angularjs中如何使用filterFilter函数过滤
Feb 06 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(二)
May 17 Javascript
JavaScript reduce和reduceRight详解
Oct 24 Javascript
Bootstrap框架安装使用详解
Jan 21 Javascript
Vue源码解读之Component组件注册的实现
Aug 24 Javascript
20个必会的JavaScript面试题(小结)
Jul 02 Javascript
ES6中异步对象Promise用法详解
Jul 31 Javascript
JavaScript运动原理基础知识详解
Apr 02 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数据类型的总结分析
2013/06/13 PHP
php从字符串创建函数的方法
2015/03/16 PHP
PHP中SSO Cookie登录分析和实现
2015/11/06 PHP
thinkPHP实现将excel导入到数据库中的方法
2016/04/22 PHP
PHP简单实现循环链表功能示例
2017/11/10 PHP
JS 文字符串转换unicode编码函数
2009/05/30 Javascript
JSQL 基于客户端的成绩统计实现方法
2010/05/05 Javascript
javascript深入理解js闭包
2010/07/03 Javascript
Js 时间间隔计算的函数(间隔天数)
2011/11/15 Javascript
javascript 基础篇4 window对象,DOM
2012/03/14 Javascript
javaScript如何生成xmlhttp
2013/12/16 Javascript
js模拟C#中List的简单实例
2014/03/06 Javascript
jquery对象和javascript对象即DOM对象相互转换
2014/08/07 Javascript
javascript页面倒计时实例
2015/07/25 Javascript
JavaScript判断手机号运营商是移动、联通、电信还是其他(代码简单)
2015/09/25 Javascript
JavaScript给input的value赋值引发的关于基本类型值和引用类型值问题
2015/12/07 Javascript
jQuery.parseHTML() 函数详解
2017/01/09 Javascript
AngularJS 打开新的标签页实现代码
2017/09/07 Javascript
nodejs微信开发之接入指南
2019/03/17 NodeJs
vue学习笔记之作用域插槽实例分析
2020/02/01 Javascript
ES6 async、await的基本使用方法示例
2020/06/06 Javascript
Javascript数组及类数组相关原理详解
2020/10/29 Javascript
[01:35]辉夜杯战队访谈宣传片—iG.V
2015/12/25 DOTA
django批量导入xml数据
2016/10/16 Python
Python中的函数作用域
2018/05/07 Python
Python中栈、队列与优先级队列的实现方法
2019/06/30 Python
Django高级编程之自定义Field实现多语言
2019/07/02 Python
Python中的正则表达式与JSON数据交换格式
2019/07/03 Python
python接口自动化如何封装获取常量的类
2019/12/24 Python
opencv 图像腐蚀和图像膨胀的实现
2020/07/07 Python
python简单利用字典破解zip文件口令
2020/09/07 Python
类的返射机制中的包及核心类
2016/09/12 面试题
广告学专业毕业生自荐信
2013/09/24 职场文书
《月亮湾》教学反思
2014/04/14 职场文书
Apache Pulsar集群搭建部署详细过程
2022/02/12 Servers
Python Matplotlib绘制等高线图与渐变色扇形图
2022/04/14 Python