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 iframe内的函数调用实现方法
Jul 19 Javascript
JavaScript 匿名函数(anonymous function)与闭包(closure)
Oct 04 Javascript
jQuery动态显示和隐藏datagrid中的某一列的方法
Dec 11 Javascript
js简单实现标签云效果实例
Aug 06 Javascript
seajs学习之模块的依赖加载及模块API的导出
Oct 20 Javascript
bootstrap监听滚动实现头部跟随滚动
Nov 08 Javascript
bootstrap3-dialog-master模态框使用详解
Aug 22 Javascript
Vue 实现从小到大的横向滑动效果详解
Oct 16 Javascript
json解析大全 双引号、键值对不在一起的情况
Dec 06 Javascript
react-router-dom 嵌套路由的实现
May 02 Javascript
ES6对象操作实例详解
May 23 Javascript
Vue props中Object和Array设置默认值操作
Jul 30 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编程最快明白》第五讲:php目录、文件操作
2010/11/01 PHP
PHP 自定义错误处理函数的使用详解
2013/05/10 PHP
关于php内存不够用的快速解决方法
2013/10/26 PHP
PHP连接access数据库
2015/03/27 PHP
使用PHPStorm+XDebug搭建单步调试环境
2017/11/19 PHP
JQuery 表单中textarea字数限制实现代码
2009/12/07 Javascript
Jquery 一次处理多个ajax请求的代码
2011/09/02 Javascript
JS在textarea光标处插入文本的小例子
2013/03/22 Javascript
jQuery 处理页面的事件详解
2015/01/20 Javascript
JS制作简单的三级联动
2015/03/18 Javascript
jQuery on()方法示例及jquery on()方法的优点
2015/08/27 Javascript
详解JavaScript编程中正则表达式的使用
2015/10/25 Javascript
浅析javascript函数表达式
2016/02/10 Javascript
js组件SlotMachine实现图片切换效果制作抽奖系统
2016/04/17 Javascript
Bootstrap每天必学之模态框(Modal)插件
2016/04/26 Javascript
5个最顶级jQuery图表类库插件【jquery插件库】
2016/05/05 Javascript
javascript获取网页各种高宽及位置的方法总结
2016/07/27 Javascript
前端js弹出框组件使用方法
2020/08/24 Javascript
Bootstrap3 图片(响应式图片&amp;图片形状)
2017/01/04 Javascript
详解Angular中通过$location获取地址栏的参数
2018/08/02 Javascript
原生JS实现图片懒加载之页面性能优化
2019/04/26 Javascript
微信小程序缓存过期时间的使用详情
2019/05/12 Javascript
layer插件实现在弹出层中弹出一警告提示并关闭弹出层的方法
2019/09/24 Javascript
JavaScript中的函数申明、函数表达式、箭头函数
2019/12/06 Javascript
python实现数值积分的Simpson方法实例分析
2015/06/05 Python
Python使用dis模块把Python反编译为字节码的用法详解
2016/06/14 Python
基于python爬虫数据处理(详解)
2017/06/10 Python
使用python读取txt文件的内容,并删除重复的行数方法
2018/04/18 Python
python取数作为临时极大值(极小值)的方法
2018/10/15 Python
pandas的排序和排名的具体使用
2019/07/31 Python
Django 允许局域网中的机器访问你的主机操作
2020/05/13 Python
美国最大最全的亚洲购物网站:美国亚米网(Yamibuy)
2020/05/05 全球购物
小学教师师德感言
2014/02/10 职场文书
安全协议书范本
2014/04/21 职场文书
小学运动会口号
2014/06/07 职场文书
2015社区健康教育工作总结
2015/05/20 职场文书