JS - 获取用户浏览器类型、版本号 (附样例)
navigator.userAgent 是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值。我们可以使用它来检测浏览器信息。
1,封装一个 browser() 方法
为了方便使用,这里创建一个方法来返回浏览器的检查结果。返回结果包含有如下属性:
- webkit:webkit 版本号。如果浏览器为非 webkit 内核,此属性为 undefined。
- chrome:chrome 浏览器版本号。如果浏览器为 chrome,此属性为 undefined。
- ie:ie 浏览器版本号。如果浏览器为非 ie,此属性为 undefined。暂不支持 ie10+
- firefox:firefox 浏览器版本号。如果浏览器为非 firefox,此属性为 undefined。
- safari:safari 浏览器版本号。如果浏览器为非 safari,此属性为 undefined。
- opera:opera 浏览器版本号。如果浏览器为非 opera,此属性为 undefined。
// 浏览器检查结果 function browser() { var ua = navigator.userAgent; var ret = {}, webkit = ua.match( /WebKit\/([\d.]+)/ ), chrome = ua.match( /Chrome\/([\d.]+)/ ) || ua.match( /CriOS\/([\d.]+)/ ), ie = ua.match( /MSIE\s([\d\.]+)/ ) || ua.match( /(?:trident)(?:.*rv:([\w.]+))?/i ), firefox = ua.match( /Firefox\/([\d.]+)/ ), safari = ua.match( /Safari\/([\d.]+)/ ), opera = ua.match( /OPR\/([\d.]+)/ ); webkit && (ret.webkit = parseFloat( webkit[ 1 ] )); chrome && (ret.chrome = parseFloat( chrome[ 1 ] )); ie && (ret.ie = parseFloat( ie[ 1 ] )); firefox && (ret.firefox = parseFloat( firefox[ 1 ] )); safari && (ret.safari = parseFloat( safari[ 1 ] )); opera && (ret.opera = parseFloat( opera[ 1 ] )); return ret; }
2,使用样例

console.log(browser());