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 相关文章推荐
11款新鲜的jQuery插件[附所有demo下载]
Jan 24 Javascript
jqPlot 图表中文API使用文档及源码和在线示例
Feb 07 Javascript
js倒计时小程序
Nov 05 Javascript
使用原生js封装webapp滑动效果(惯性滑动、滑动回弹)
May 06 Javascript
js 弹出虚拟键盘修改密码的简单实例
Oct 10 Javascript
详解javascript表单的Ajax提交插件的使用
Dec 29 Javascript
AngularJS通过ng-Img-Crop实现头像截取的示例
Aug 17 Javascript
vue中axios解决跨域问题和拦截器的使用方法
Mar 07 Javascript
js传递数组参数到后台controller的方法
Mar 29 Javascript
关于在vue 中使用百度ueEditor编辑器的方法实例代码
Sep 14 Javascript
jQuery实现提交表单时不提交隐藏div中input的方法
Oct 08 jQuery
es6数组之扩展运算符操作实例分析
Apr 25 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
UCenter中的一个可逆加密函数authcode函数代码
2010/07/20 PHP
探讨:如何使用PHP实现计算两个日期间隔的年、月、周、日数
2013/06/13 PHP
php模板原理讲解
2013/11/13 PHP
php配合jquery实现增删操作具体实例
2013/12/12 PHP
php实现斐波那契数列的简单写法
2014/07/19 PHP
分析php://output和php://stdout的区别
2018/05/06 PHP
csdn 论坛技术区平均给分功能
2009/11/07 Javascript
javascript实现修改微信分享的标题内容等
2014/12/11 Javascript
30个经典的jQuery代码开发技巧
2014/12/15 Javascript
在Html中使用Requirejs进行模块化开发实例详解
2016/04/15 Javascript
bootstrap+jQuery 实现下拉菜单中复选框全选和全不选效果
2017/06/12 jQuery
JavaScript中递归实现的方法及其区别
2017/09/12 Javascript
详解利用 Vue.js 实现前后端分离的RBAC角色权限管理
2017/09/15 Javascript
angular1.x ui-route传参的三种写法小结
2018/08/31 Javascript
详解微信小程序开发用户授权登陆
2019/04/24 Javascript
Vue组件通信入门之Provide和Inject机制
2019/12/29 Javascript
vue中的双向数据绑定原理与常见操作技巧详解
2020/03/16 Javascript
解决VueCil代理本地proxytable无效报错404的问题
2020/11/07 Javascript
Django forms组件的使用教程
2018/10/08 Python
对python内置map和six.moves.map的区别详解
2018/12/19 Python
Python 确定多项式拟合/回归的阶数实例
2018/12/29 Python
2021年值得向Python开发者推荐的VS Code扩展插件
2021/01/25 Python
世界上最好的精品店:Shoptiques
2018/02/05 全球购物
Bibloo荷兰:女士、男士和儿童的服装、鞋子和配饰
2019/02/25 全球购物
在线课程:Skillshare
2019/04/02 全球购物
《尊严》教学反思
2014/02/11 职场文书
个人工作表现评语
2014/04/30 职场文书
毕业生求职信范文
2014/06/29 职场文书
经营目标管理责任书
2014/07/25 职场文书
慈善捐赠倡议书
2014/08/30 职场文书
医院护士见习期自我鉴定
2014/09/15 职场文书
党的群众路线批评与自我批评发言稿
2014/10/16 职场文书
2015年小学总务工作总结
2015/07/21 职场文书
《悬崖边的树》读后感2篇
2019/12/02 职场文书
使用Python+OpenCV进行卡类型及16位卡号数字的OCR功能
2021/08/30 Python
Web应用开发TypeScript使用详解
2022/05/25 Javascript