JavaScript 检测浏览器类型与版本的方法

作者:窗边听雨

时间:2026-10-25

浏览:335

本文介绍如何利用 JavaScript 的 navigator.userAgent 属性结合正则表达式来识别浏览器类型(IE、Firefox、Chrome)及其版本号。通过解析用户代理字符串,提取关键信息并在页面中展示当前使用的浏览器名称及具体版本,适用于需要兼容不同浏览器的 Web 开发场景。

文章目录

浏览器类型与版本检测概述

以下 checkBrowser() 函数主要用于识别三种主流浏览器:Internet Explorer、Firefox 和 Chrome。其他浏览器的检测逻辑可根据实际需求自行补充。


HTML 页面结构

HTML 结构部分:在页面加载完成后自动执行检测函数。


具体代码如下:

 
<body onload="checkBrowser()">
<p id="userAgent"></p>
<p id="browser"></p>
</body>

JavaScript 检测逻辑实现

JavaScript 实现部分:


检测的核心原理是从 navigator.userAgent 属性中提取用户代理信息,进而获取浏览器类型和版本数据。利用正则表达式进行匹配可以高效满足需求。若对正则表达式不熟悉,可参考相关文档。


具体代码如下:

 
function check(reg) {
var ug = navigator.userAgent.toLowerCase();
return reg.test(ug);
} 
function checkBrowser() {
var ug = navigator.userAgent.toLowerCase();
var userAgent = document.getElementById("userAgent");
userAgent.innerHTML = "浏览器的用户代理报头:" + ug;
var browserType = "";
var ver = "";
// 检测 IE 浏览器及其版本
var IE = ug.match(/msie\s*\d\.\d/); // 提取浏览器类型及版本信息,注意 match() 方法返回的是数组而非字符串
var isIE = check(/msie/);
if(isIE) {
browserType = "Internet Explorer";
ver = IE.join(" ").match(/[0-9]/g).join("."); // 先使用 join() 将数组转为字符串,再通过 match() 匹配数字,最后用 join(".") 组合成版本号
} 
// 检测 Chrome 浏览器及其版本
var chrome = ug.match(/chrome\/\d\.\d/gi);
var isChrome = check(/chrome/);
if(isChrome) {
browserType = "Chrome";
ver = chrome.join(" ").match(/[0-9]/g).join(".");
} 
// 检测 Firefox 浏览器及其版本
var firefox = ug.match(/firefox\/\d\.\d/gi);
var isFirefox = check(/firefox/);
if(isFirefox) {
browserType = "Firefox";
ver = firefox.join(" ").match(/[0-9]/g).join(".");
} 
var browser = document.getElementById("browser");
browser.innerHTML = "您正在使用的浏览器为:" + browserType + "<span style='padding-left:15px;'>版本为:</span>" + ver;
} 

PS:各浏览器的用户代理信息如下:
 
IE:Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; BOIE9;ZHCN);
firefox:Mozilla/5.0 (Windows NT 6.1; rv:2.0) Gecko/20100101 Firefox/4.0;
chrome:Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.597.98 Safari/534.13

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章