js获取浏览器版本号

本文介绍了一种使用JavaScript来检测浏览器类型及其版本的方法,适用于解决浏览器兼容性问题。文中提供了两个实用函数,分别用于获取浏览器名称及同时获取名称与版本号。

前言(日常废话)

本篇记录通过js获取浏览器及其版本号,经过测试可用。主要用于在做浏览器兼容时,对不同浏览器进行不同操作。
国产浏览器特别说明:
因为其判断依据主要是浏览器所使用的的浏览器内核,而360、QQ等国产浏览器使用的是chrome和ie的双内核,所以无法判断出其名称。

目录

正文

获取浏览器名称

代码

// 获取浏览器名称
function getBrowserName() {
    var userAgent = navigator.userAgent;
    if (userAgent.indexOf("Opera") > -1 || userAgent.indexOf("OPR") > -1) {
        return 'Opera';
    } else if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1) {
        return 'IE';
    } else if (userAgent.indexOf("Edge") > -1) {
        return 'Edge';
    } else if (userAgent.indexOf("Firefox") > -1) {
        return 'Firefox';
    } else if (userAgent.indexOf("Safari") > -1 && userAgent.indexOf("Chrome") == -1) {
        return 'Safari';
    } else if (userAgent.indexOf("Chrome") > -1 && userAgent.indexOf("Safari") > -1) {
        return 'Chrome';
    } else if (!!window.ActiveXObject || "ActiveXObject" in window) {
        return 'IE>=11';
    } else {
        return 'Unkonwn';
    }
}
console.log(getBrowserName())

效果展示

Google Chrome:
谷歌示例图1
360极速浏览器:
360示例图1
Firefox:
火狐示例图1
IE8(虚拟机):
ie8示例图1

获取浏览器名称及其版本号

代码

// 获取浏览器名称及其版本号
function getBrowserNameVersion() {
    var Sys = {};
    var ua = navigator.userAgent.toLowerCase();
    var s;
    (s = ua.match(/rv:([\d.]+)\) like gecko/)) ? Sys.ie = s[1]:
        (s = ua.match(/msie ([\d\.]+)/)) ? Sys.ie = s[1] :
        (s = ua.match(/edge\/([\d\.]+)/)) ? Sys.edge = s[1] :
        (s = ua.match(/firefox\/([\d\.]+)/)) ? Sys.firefox = s[1] :
        (s = ua.match(/(?:opera|opr).([\d\.]+)/)) ? Sys.opera = s[1] :
        (s = ua.match(/chrome\/([\d\.]+)/)) ? Sys.chrome = s[1] :
        (s = ua.match(/version\/([\d\.]+).*safari/)) ? Sys.safari = s[1] : 0;
    // 根据关系进行判断
    if (Sys.ie) return ('IE: ' + Sys.ie);
    if (Sys.edge) return ('EDGE: ' + Sys.edge);
    if (Sys.firefox) return ('Firefox: ' + Sys.firefox);
    if (Sys.chrome) return ('Chrome: ' + Sys.chrome);
    if (Sys.opera) return ('Opera: ' + Sys.opera);
    if (Sys.safari) return ('Safari: ' + Sys.safari);
    return 'Unkonwn';
}
console.log(getBrowserNameVersion())

效果展示

Google Chrome:
谷歌示例图2
360极速浏览器:
360示例图2
Firefox 84:
火狐84示例图2
Firefox 50 :
火狐50示例图2
IE8(虚拟机):
ie8示例图2

写给看贴的你

本人学识短浅,如有错误以及缺漏的地方请指正批评;如有涉及侵权,请手下留情,联系本人,看见即删(手动狗头保命)。
祝各位看官大佬们身体健康、诸事顺心、码运荣昌、少写bug少加班…

在不同的编程环境中,获取浏览器版本号的方法有所不同,以下是几种常见的方式: ### JavaScript浏览器环境中 可以使用 `navigator.userAgent` 属性来获取浏览器的用户代理字符串,然后通过正则表达式或字符串匹配来提取版本号。 ```javascript const userAgent = navigator.userAgent; // 检测 Chrome 浏览器 let chromeVersion = userAgent.match(/Chrome\/([\d.]+)/); if (chromeVersion) { console.log('Chrome 版本号: ', chromeVersion[1]); } // 检测 Firefox 浏览器 let firefoxVersion = userAgent.match(/Firefox\/([\d.]+)/); if (firefoxVersion) { console.log('Firefox 版本号: ', firefoxVersion[1]); } // 检测 Safari 浏览器 let safariVersion = userAgent.match(/Version\/([\d.]+).*Safari/); if (safariVersion) { console.log('Safari 版本号: ', safariVersion[1]); } // 检测 Edge 浏览器 let edgeVersion = userAgent.match(/Edg\/([\d.]+)/); if (edgeVersion) { console.log('Edge 版本号: ', edgeVersion[1]); } ``` ### Python 使用 Selenium 如果需要在 Python 中通过 Selenium 自动化测试工具来获取浏览器版本号,可以这样做: ```python from selenium import webdriver # 创建 Chrome 浏览器实例 driver = webdriver.Chrome() # 获取浏览器版本信息 capabilities = driver.capabilities browser_version = capabilities['browserVersion'] print(f"浏览器版本号: {browser_version}") # 关闭浏览器 driver.quit() ``` ### Java 使用 Selenium 在 Java 中使用 Selenium 来获取浏览器版本号: ```java import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.remote.DesiredCapabilities; public class BrowserVersion { public static void main(String[] args) { // 设置 ChromeDriver 的路径 System.setProperty("webdriver.chrome.driver", "path/to/chromedriver"); // 创建 Chrome 浏览器实例 WebDriver driver = new ChromeDriver(); // 获取浏览器版本信息 DesiredCapabilities capabilities = ((ChromeDriver) driver).getCapabilities(); String browserVersion = capabilities.getBrowserVersion(); System.out.println("浏览器版本号: " + browserVersion); // 关闭浏览器 driver.quit(); } } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值