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 相关文章推荐
JAVASCRIPT HashTable
Jan 22 Javascript
html数组字符串拼接的最快方法
Sep 16 Javascript
基于JQuery实现异步刷新的代码(转载)
Mar 29 Javascript
jQuery对象的length属性用法实例
Dec 27 Javascript
JavaScript常用代码书写规范的超全面总结
Sep 11 Javascript
正则表达式替换html元素属性的方法
Nov 26 Javascript
vue框架搭建之axios使用教程
Jul 11 Javascript
vue3实现v-model原理详解
Oct 09 Javascript
详解Vue3中对VDOM的改进
Apr 23 Javascript
vue 点击其他区域关闭自定义div操作
Jul 17 Javascript
js实现简单商品筛选功能
Feb 02 Javascript
react antd实现动态增减表单
Jun 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
PHP编程风格规范分享
2014/01/15 PHP
PHP中UNIX时间戳和日期间的转换与计算实例
2014/11/19 PHP
JQuery 简便实现页面元素数据验证功能
2007/03/24 Javascript
JS支持带x身份证号码验证函数
2008/08/10 Javascript
JavaScript模板入门介绍
2012/09/26 Javascript
原生Js页面滚动延迟加载图片实现原理及过程
2013/06/24 Javascript
如何在指定的地方插入html内容和文本内容
2013/12/23 Javascript
JQuery radio(单选按钮)操作方法汇总
2015/04/15 Javascript
JavaScript生成福利彩票双色球号码
2015/05/15 Javascript
浅析node连接数据库(express+mysql)
2015/11/30 Javascript
javascript阻止事件冒泡和浏览器的默认行为
2017/01/21 Javascript
微信小程序 ecshop地址三级联动实现实例代码
2017/02/28 Javascript
ExtJs的Ext.Ajax.request实现waitMsg等待提示效果
2017/06/14 Javascript
详解vue-cli 接口代理配置
2017/12/13 Javascript
vue 2.8.2版本配置刚进入时候的默认页面方法
2018/09/21 Javascript
vue鼠标悬停事件实例详解
2019/04/01 Javascript
封装微信小程序http拦截器过程解析
2019/08/13 Javascript
[41:37]DOTA2北京网鱼队选拔赛——冲击职业之路
2015/04/13 DOTA
[40:55]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#4Newbee VS Fnatic
2016/03/03 DOTA
Python set集合类型操作总结
2014/11/07 Python
Python中逗号的三种作用实例分析
2015/06/08 Python
python 梯度法求解函数极值的实例
2019/07/10 Python
对Python3中列表乘以某一个数的示例详解
2019/07/20 Python
python中tkinter窗口位置\坐标\大小等实现示例
2020/07/09 Python
Python如何使用vars返回对象的属性列表
2020/10/17 Python
Python爬虫制作翻译程序的示例代码
2021/02/22 Python
使用CSS3创建动态菜单效果
2015/07/10 HTML / CSS
介绍一下SQL Server里面的索引视图
2016/07/31 面试题
平安家庭示范户事迹
2014/06/02 职场文书
环境工程专业自荐信范文
2014/06/24 职场文书
党风廉正建设个人工作总结
2015/03/06 职场文书
企业财务总监岗位职责
2015/04/03 职场文书
2015教师年度工作总结范文
2015/04/07 职场文书
2015年房地产销售工作总结
2015/04/20 职场文书
golang 比较浮点数的大小方式
2021/05/02 Golang
快速学习Oracle触发器和游标
2021/06/30 Oracle