工作中需要通過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,"");
