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的Alert消息框插件使用介绍
Oct 09 Javascript
单击浏览器右上角的X关闭窗口弹出提示的小例子
Jun 12 Javascript
JS简单的图片放大缩小的两种方法
Nov 11 Javascript
FF IE浏览器修改标签透明度的方法
Jan 27 Javascript
js防止DIV布局滚动时闪动的解决方法
Oct 30 Javascript
JavaScript中常见的八个陷阱总结
Jun 28 Javascript
angular项目中bootstrap-datetimepicker时间插件的使用示例
Mar 15 Javascript
使用JS判断移动端手机横竖屏状态
Jul 30 Javascript
Node.js模拟发起http请求从异步转同步的5种用法
Sep 26 Javascript
element-ui上传一张图片后隐藏上传按钮功能
May 22 Javascript
Vue 自定义标签的src属性不能使用相对路径的解决
Sep 17 Javascript
微信小程序button标签open-type属性原理解析
Jan 21 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来检测proxy
2006/10/09 PHP
php木马攻击防御之道
2008/03/24 PHP
PHP 配置open_basedir 让各虚拟站点独立运行
2009/11/12 PHP
PHP学习散记_编码(json_encode 中文不显示)
2011/11/10 PHP
一个PHP并发访问实例代码
2012/09/06 PHP
php中get_object_vars()在数组的实例用法
2021/02/22 PHP
比较详细的关于javascript中void(0)的具体含义解释
2007/08/02 Javascript
javascript SocialHistory 检查访问者是否访问过某站点
2008/08/02 Javascript
Jquery为a标签的href赋值实现代码
2013/05/03 Javascript
IE浏览器不支持getElementsByClassName的解决方法
2014/08/27 Javascript
jquery实现类似淘宝星星评分功能有截图
2014/09/15 Javascript
Javascript实现通过选择周数显示开始日和结束日的实现代码
2016/05/30 Javascript
详解JavaScript按概率随机生成事件
2017/08/02 Javascript
详解vuex之store拆分即多模块状态管理(modules)篇
2018/11/13 Javascript
JavaScript私有变量实例详解
2019/01/24 Javascript
ES6 Promise对象概念及用法实例详解
2019/10/15 Javascript
vue中keep-alive、activated的探讨和使用详解
2020/07/26 Javascript
jQuery+ajax实现文件上传功能
2020/12/22 jQuery
python多重继承实例
2014/10/11 Python
Python编写一个闹钟功能
2017/07/11 Python
利用python 更新ssh 远程代码 操作远程服务器的实现代码
2018/02/08 Python
python安装教程
2018/02/28 Python
Python 安装第三方库 pip install 安装慢安装不上的解决办法
2019/06/18 Python
keras 解决加载lstm+crf模型出错的问题
2020/06/10 Python
最简单的matplotlib安装教程(小白)
2020/07/28 Python
pytorch学习教程之自定义数据集
2020/11/10 Python
基于HTML5陀螺仪实现ofo首页眼睛移动效果的示例
2017/07/31 HTML / CSS
全球速卖通法国在线交易平台:AliExpress法国
2017/07/07 全球购物
2014端午节活动策划方案
2014/01/27 职场文书
标准化管理实施方案
2014/02/25 职场文书
学校募捐倡议书
2014/05/14 职场文书
行政部经理助理岗位职责
2014/06/15 职场文书
高中军训的心得体会
2014/09/01 职场文书
2014离婚协议书范文两篇
2014/09/15 职场文书
教师个人总结范文
2015/02/11 职场文书
小程序实现筛子抽奖
2021/05/26 Javascript