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 相关文章推荐
用jquery设置按钮的disabled属性的实现代码
Nov 28 Javascript
一个JavaScript去除字符串末尾的空白实例代码
Sep 22 Javascript
Redis基本知识、安装、部署、配置笔记
Mar 05 Javascript
jQuery实现可用于博客的动态滑动菜单完整实例
Sep 17 Javascript
JavaScript严格模式详解
Nov 18 Javascript
Bootstrap自动适应PC、平板、手机的Bootstrap栅格系统
May 27 Javascript
Vue.js组件通信的几种姿势
Oct 23 Javascript
node文字生成图片的示例代码
Oct 26 Javascript
js设置随机切换背景图片的简单实例
Nov 12 Javascript
让Vue也可以使用Redux的方法
May 23 Javascript
微信小程序实现简单跑马灯效果
May 26 Javascript
JS前端轻量fabric.js系列之画布初始化
Aug 05 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的数组中提高元素查找与元素去重的效率的技巧解析
2016/03/03 PHP
php array_key_exists() 与 isset() 的区别
2016/10/24 PHP
php+ajax无刷新上传图片的实现方法
2016/12/06 PHP
PHP实现的Redis多库选择功能单例类
2017/07/27 PHP
Laravel5框架添加自定义辅助函数的方法
2018/08/01 PHP
Laravel使用scout集成elasticsearch做全文搜索的实现方法
2018/11/30 PHP
Laravel获取当前请求的控制器和方法以及中间件的例子
2019/10/11 PHP
PHP程序员简单的开展服务治理架构操作详解(一)
2020/05/14 PHP
一段效率很高的for循环语句使用方法
2007/08/13 Javascript
jQuery1.6 类型判断实现代码
2011/09/01 Javascript
浅析JS中document对象的一些重要属性
2014/03/06 Javascript
Javascript基础教程之argument 详解
2015/01/18 Javascript
JavaScript通过select动态更换图片的方法
2015/03/23 Javascript
js实现鼠标点击文本框自动选中内容的方法
2015/08/20 Javascript
基于jQuery实现文本框只能输入数字(小数、整数)
2016/01/14 Javascript
简单实现js菜单栏切换效果
2017/03/04 Javascript
Mac 安装 nodejs方法(图文详细步骤)
2017/10/30 NodeJs
详解Nuxt.js部署及踩过的坑
2018/08/07 Javascript
怎么使用javascript深度拷贝一个数组
2019/06/06 Javascript
vscode vue 文件模板的配置方法
2019/07/23 Javascript
浅谈vue中resetFields()使用注意事项
2020/08/12 Javascript
[00:43]拉比克至宝魔导师密钥展示
2018/12/20 DOTA
Python2和Python3之间的str处理方式导致乱码的讲解
2019/01/03 Python
python对列进行平移变换的方法(shift)
2019/01/10 Python
使用python绘制二元函数图像的实例
2019/02/12 Python
Python按钮的响应事件详解
2019/03/04 Python
Python实现线性判别分析(LDA)的MATLAB方式
2019/12/09 Python
Python unittest单元测试框架及断言方法
2020/04/15 Python
JACK & JONES英国官方网站:欧洲领先的男装生产商
2017/09/27 全球购物
英国123鲜花网站:123 Flowers
2019/07/07 全球购物
用友笔试题目
2016/10/25 面试题
保证书范文大全
2014/04/28 职场文书
办公室务虚会发言材料
2014/10/20 职场文书
2014年生活老师工作总结
2014/12/23 职场文书
《鲸》教学反思
2016/02/23 职场文书
python微信智能AI机器人实现多种支付方式
2022/04/12 Python