JS获取当前使用的浏览器名字以及版本号

摘要:
当JS获取当前使用的浏览器的名称和版本号时,需要通过JS获取当前正在使用的浏览器名称和版本编号。在很多在线资料中都有一个关键词:navigator AppName,但这种方法只获得两个浏览器名称,IE或Netscape,可以用来确定是否使用IE。然而,我想获得特定的浏览器产品名称,例如Firefox、Chrome等。因此,您必须使用navigator。userAgent,但此字符

JS获取当前使用的浏览器名字以及版本号

  工作中需要通过JS去获取当前使用的浏览器的名字以及版本号,网上大堆资料都有一个关键词是 navigator.appName,但是这个方法获取的浏览器的名字只有两种要么是IE要么就是Netscap,倒是可以用来判断是否使用了IE,但是我想获取具体的浏览器产品名字比如 Firefox,Chrome等。所以只好通过navigator.userAgent,但是这个字符串是非常长的,分析他的特征,通过正则表达式来解决这个问题是不错的方法。

  (1) 获取浏览器名字+版本字符串

function getBrowserInfo()
{
var agent = navigator.userAgent.toLowerCase() ;

var regStr_ie = /msie [d.]+;/gi ;
var regStr_ff = /firefox/[d.]+/gi
var regStr_chrome = /chrome/[d.]+/gi ;
var regStr_saf = /safari/[d.]+/gi ;
//IE
if(agent.indexOf("msie") > 0)
{
return agent.match(regStr_ie) ;
}

//firefox
if(agent.indexOf("firefox") > 0)
{
return agent.match(regStr_ff) ;
}

//Chrome
if(agent.indexOf("chrome") > 0)
{
return agent.match(regStr_chrome) ;
}

//Safari
if(agent.indexOf("safari") > 0 && agent.indexOf("chrome") < 0)
{
return agent.match(regStr_saf) ;
}

}

(2)然后获取版本号

var browser = getBrowserInfo() ;
//alert(browser);
var verinfo = (browser+"").replace(/[^0-9.]/ig,"");

免责声明:文章转载自《JS获取当前使用的浏览器名字以及版本号》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇IdentityServer4mstsc远程登录“您的凭据不工作”解决办法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

js对象中什么是可枚举性(enumerable)?

说到枚举,可能很多人都会想到枚举类型,但在javascript对象中有一个属性为可枚举性,他是什么呢? 概念 可枚举性(enumerable)用来控制所描述的属性,是否将被包括在for...in循环之中。具体来说,如果一个属性的enumerable为false,下面三个操作不会取到该属性。* for..in循环* Object.keys方法* JSON.s...

ExtJs4 笔记(4) Ext.XTemplate 模板

ExtJs4 笔记(4) Ext.XTemplate 模板摘自:http://www.cnblogs.com/lipan/ 本篇将涉及到ExtJs中一个重要的概念,模板。话说Razor很神奇,但是我个人不是很喜欢那种html混编C#的方式,仿佛又回到了asp的时 代。ExtJs的模板同样也可以组织生成灵活的html,而且代码和html有效的分离。本文将细细...

js判断浏览器类型

js判断浏览器类型 <script type="text/javascript" ><!-- function getOs() { var OsObject = ""; if(isIE = navigator.userAgent.indexOf("MSIE")!=-1) { return "MSIE"; } if(isFirefox=na...

shell中的(),{}几种语法用法

转自:https://www.cnblogs.com/HKUI/p/6423918.html 查看脚本语法是否有错误:bash -n modify_suffix.sh跟踪执行sh -x modify_suffix.sh aaa 1.${var} 2.$(cmd) 3.()和{} 4.${var:-string},${var:+string},...

MySQL-锁

1. 公平锁与非公平锁   公平锁:严格按照线程启动的顺序执行,不允许其他线程插队执行;非公平锁允许插队;   当使用非公平锁时,会立刻尝试配置状态,成功则:插队执行,失败则:与公平锁一样调用acquire()方法,以排他方式获取锁,成功后立刻返回,否则将线程加入队列,直到成功调用为止。 2. 悲观锁与乐观锁   两种常见的资源并发锁设计。   悲观锁:先...

断点调试-程序员的必修课

断点调试是作为一个开发的基本功,本文有不完善的地方会持续改进! 一、源码调试/debugger方法 1.1控制台调试按钮介绍 Resume script execution恢复断点调试、常用在一个方法调用多个js文件(适用冗长js代码使用)、点击这个会直接跳转到下一个断点(逐过程执行)Pause script execution停止断点调试step ove...