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 相关文章推荐
把input初始值不写value的具体实现方法
Jul 04 Javascript
js中用window.open()打开多个窗口的name问题
Mar 13 Javascript
基于javascript实现listbox左右移动
Jan 29 Javascript
js密码强度实时检测代码
Mar 02 Javascript
基于jQuery下拉选择框插件支持单选多选功能代码
Jun 07 Javascript
Bootstrap基本插件学习笔记之Tooltip提示工具(18)
Dec 08 Javascript
浅谈javascript中的事件冒泡和事件捕获
Dec 28 Javascript
使用RN Animated做一个“添加购物车”动画的方法
Sep 12 Javascript
全面了解JavaScript的作用域链
Apr 03 Javascript
微信小程序云开发如何使用npm安装依赖
May 18 Javascript
ES6学习笔记之字符串、数组、对象、函数新增知识点实例分析
Jan 22 Javascript
针对Vue路由history模式下Nginx后台配置操作
Oct 22 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
dedecms采集中可以过滤多行代码的正则表达式
2007/03/17 PHP
php下HTTP Response中的Chunked编码实现方法
2008/11/19 PHP
php 归并排序 数组交集
2011/05/10 PHP
PHP的PDO操作简单示例
2016/03/30 PHP
CI框架实现框架前后端分离的方法详解
2016/12/30 PHP
PHP利用Mysql锁解决高并发的方法
2018/09/04 PHP
PHP CURL实现模拟登陆并上传文件操作示例
2020/01/02 PHP
javascript 当前日期转化为中文的实现代码
2010/05/13 Javascript
js截取固定长度的中英文字符的简单实例
2013/11/22 Javascript
JavaScript判断undefined类型的正确方法
2015/06/30 Javascript
javascript中call apply 与 bind方法详解
2016/03/10 Javascript
JavaScript数组操作函数汇总
2016/08/05 Javascript
js获取页面引用的css样式表中的属性值方法(推荐)
2016/08/19 Javascript
Google 爬虫如何抓取 JavaScript 的内容
2017/04/07 Javascript
js自定义弹框插件的封装
2020/08/24 Javascript
vue-cli 引入、配置axios的方法
2018/05/08 Javascript
JavaScript中join()、splice()、slice()和split()函数用法示例
2018/08/24 Javascript
javascript数据类型中的一些小知识点(推荐)
2019/04/18 Javascript
jQuery弹框插件使用方法详解
2020/05/26 jQuery
three.js中多线程的使用及性能测试详解
2021/01/07 Javascript
[02:43]2014DOTA2国际邀请赛 官方Alliance战队纪录片
2014/07/14 DOTA
Pyramid将models.py文件的内容分布到多个文件的方法
2013/11/27 Python
详解Python中contextlib上下文管理模块的用法
2016/06/28 Python
python中numpy基础学习及进行数组和矢量计算
2017/02/12 Python
matplotlib savefig 保存图片大小的实例
2018/05/24 Python
Python 使用 Pillow 模块给图片添加文字水印的方法
2019/08/30 Python
django框架创建应用操作示例
2019/09/26 Python
丝芙兰巴西官方商城:SEPHORA巴西
2016/10/31 全球购物
酒店销售主管岗位职责
2014/01/04 职场文书
《她是我的朋友》教学反思
2014/04/26 职场文书
医学专业毕业生求职信
2014/06/20 职场文书
2014年统计工作总结
2014/11/21 职场文书
中学生思想品德评语
2014/12/31 职场文书
2015廉洁自律个人总结
2015/02/14 职场文书
2015秋季开学典礼主持词
2015/07/16 职场文书
python使用pywinauto驱动微信客户端实现公众号爬虫
2021/05/19 Python