时间:2021-08-29 08:56:53 | 栏目:JavaScript代码 | 点击:次
工作中需要通过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) ; } //Safari if(agent.indexOf("safari") > 0 && agent.indexOf("chrome") < 0) { return agent.match(regStr_saf) ; } //Chrome if(agent.indexOf("chrome") > 0) { return agent.match(regStr_chrome) ; } }
(2)然后获取版本号
var browser = getBrowserInfo() ; //alert(browser); var verinfo = (browser+"").replace(/[^0-9.]/ig,"");