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.Autocomplete实现自动完成功能(详解)
Jul 13 Javascript
javascript 系统文件夹文件操作及参数介绍
Jan 08 Javascript
js获取指定日期前后的日期代码
Aug 20 Javascript
jquery购物车实时结算特效实现思路
Sep 23 Javascript
javascript创建对象、对象继承的实用方式详解
Mar 08 Javascript
jQuery与JS加载事件用法分析
Sep 04 Javascript
Javascript循环删除数组中元素的几种方法示例
May 18 Javascript
vue-cli项目优化方法- 缩短首屏加载时间
Apr 01 Javascript
layui当点击文本框时弹出选择框,显示选择内容的例子
Sep 02 Javascript
探索浏览器页面关闭window.close()的使用详解
Aug 21 Javascript
jQuery插件实现图片轮播效果
Oct 19 jQuery
Node.js利用Express实现用户注册登陆功能(推荐)
Oct 26 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
mysqli_set_charset和SET NAMES使用抉择及优劣分析
2013/01/13 PHP
Laravel 5.3 学习笔记之 错误&amp;日志
2016/08/28 PHP
php版微信小店API二次开发及使用示例
2016/11/12 PHP
tp5.1 框架数据库高级查询技巧实例总结
2020/05/25 PHP
js中几种去掉字串左右空格的方法
2006/12/25 Javascript
javascript背投广告代码的完善
2008/04/08 Javascript
js文本框输入点回车触发确定兼容IE、FF等
2013/11/19 Javascript
jquery插件推荐浏览器嗅探userAgent
2014/11/09 Javascript
关于javascript模块加载技术的一些思考
2014/11/28 Javascript
利用Angularjs实现幻灯片效果
2016/09/07 Javascript
JavaScript ES6 Class类实现原理详解
2020/05/08 Javascript
Vue生命周期activated之返回上一页不重新请求数据操作
2020/07/26 Javascript
Vue全局使用less样式,组件使用全局样式文件中定义的变量操作
2020/10/21 Javascript
JS实现购物车基本功能
2020/11/08 Javascript
[49:56]VG vs Optic 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[39:00]Optic vs VP 2018国际邀请赛淘汰赛BO3 第三场 8.24
2018/08/25 DOTA
python多线程操作实例
2014/11/21 Python
python在windows命令行下输出彩色文字的方法
2015/03/19 Python
python入门教程 python入门神图一张
2018/03/05 Python
python 统计列表中不同元素的数量方法
2018/06/29 Python
解决Pycharm后台indexing导致不能run的问题
2019/06/27 Python
python词云库wordcloud的使用方法与实例详解
2020/02/17 Python
Python响应对象text属性乱码解决方案
2020/03/31 Python
Python xlrd/xlwt 创建excel文件及常用操作
2020/09/24 Python
HTML5之web workers_动力节点Java学院整理
2017/07/17 HTML / CSS
使用HTML5 Canvas为图片填充颜色和纹理的教程
2016/03/21 HTML / CSS
计算机售后服务承诺书
2014/05/30 职场文书
学校学习雷锋活动总结
2014/07/03 职场文书
小学关爱留守儿童活动方案
2014/08/25 职场文书
2014年文员工作总结
2014/11/18 职场文书
求职导师推荐信范文
2015/03/27 职场文书
小区环境卫生倡议书
2015/04/29 职场文书
《灰雀》教学反思
2016/02/19 职场文书
毕业生就业推荐表自我鉴定
2019/06/20 职场文书
小学生作文之《压岁钱的烦恼》
2019/09/27 职场文书
selenium.webdriver中add_argument方法常用参数表
2021/04/08 Python