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 相关文章推荐
网站上面有这种切换效果
Jun 26 Javascript
对YUI扩展的Gird组件 Part-1
Mar 10 Javascript
JQUERY获取form表单值的代码
Jul 17 Javascript
js对table的td进行相同内容合并示例详解
Dec 27 Javascript
jquery使用ajax实现微信自动回复插件
Apr 28 Javascript
javascript跨域原因以及解决方案分享
Apr 08 Javascript
谈一谈bootstrap响应式布局
May 23 Javascript
js判断是否为空和typeof的用法(详解)
Oct 07 Javascript
js利用clipboardData实现截屏粘贴功能
Oct 12 Javascript
js获取指定时间的前几秒
Apr 05 Javascript
vue flex 布局实现div均分自动换行的示例代码
Aug 05 Javascript
Vue proxyTable配置多个接口地址,解决跨域的问题
Sep 11 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数据库操作面向对象的优点
2006/10/09 PHP
php 全文搜索和替换的实现代码
2008/07/29 PHP
PHP var_dump遍历对象属性的函数与应用代码
2010/06/04 PHP
PHP中使用BigMap实例
2015/03/30 PHP
用JS判断IE版本的代码 超管用!
2011/08/09 Javascript
如何通过javascript操作web控件的自定义属性
2013/11/25 Javascript
js判断ie版本号的简单实现代码
2014/03/05 Javascript
JavaScript常用字符串与数组扩展函数小结
2016/04/24 Javascript
前端自动化开发之Node.js的环境搭建教程
2017/04/01 Javascript
js脚本编写简单刷票投票系统
2017/06/27 Javascript
nodeJS微信分享
2017/12/20 NodeJs
Vue中的scoped实现原理及穿透方法
2018/05/15 Javascript
vue实现在一个方法执行完后执行另一个方法的示例
2018/08/25 Javascript
js console.log打印对象时属性缺失的解决方法
2019/05/23 Javascript
vue如何在用户要关闭当前网页时弹出提示的实现
2020/05/31 Javascript
ant design vue 表格table 默认勾选几项的操作
2020/10/31 Javascript
微信小程序实现点击导航条切换页面
2020/11/19 Javascript
[49:11]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第二场 12.20
2020/12/23 DOTA
Python自动化测试工具Splinter简介和使用实例
2014/05/13 Python
Python实现将不规范的英文名字首字母大写
2016/11/15 Python
CentOS 6.5下安装Python 3.5.2(与Python2并存)
2017/06/05 Python
Python设计模式之门面模式简单示例
2018/01/09 Python
python实现人人自动回复、抢沙发功能
2018/06/08 Python
python实现从文件中读取数据并绘制成 x y 轴图形的方法
2018/10/14 Python
Numpy截取指定范围内的数据方法
2018/11/14 Python
超简单的Python HTTP服务
2019/07/22 Python
详解如何用TensorFlow训练和识别/分类自定义图片
2019/08/05 Python
PyQT5 实现快捷键复制表格数据的方法示例
2020/06/19 Python
父亲的菜园教学反思
2014/02/13 职场文书
岗位职责说明书
2014/05/07 职场文书
优秀毕业生就业推荐信
2014/05/22 职场文书
个人四风对照检查材料
2014/09/26 职场文书
党的群众路线领导班子整改方案
2014/09/27 职场文书
教师聘用意向书
2015/05/11 职场文书
员工工作心得体会
2019/05/07 职场文书
Python+Tkinter制作专属图形化界面
2022/04/01 Python