js判断浏览器版本及种类

/**
 *@Date:2021/01/08
 *@Description:获取判断浏览器版本信息
 *@return {object} or @return {number}
 */
function browserVersion () {
    var userAgent = navigator.userAgent // 取得浏览器的userAgent字符串
    var isIE = userAgent.indexOf('compatible') > -1 && userAgent.indexOf('MSIE') > -1 // 判断是否IE<11浏览器
    var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf('rv:11.0') > -1
    var isEdge = userAgent.indexOf('Edge') > -1 && !isIE // Edge浏览器
    var isFirefox = userAgent.indexOf('Firefox') > -1 // Firefox浏览器
    var isOpera = userAgent.indexOf('Opera') > -1 || userAgent.indexOf('OPR') > -1 // Opera浏览器
    var isChrome = userAgent.indexOf('Chrome') > -1 && userAgent.indexOf('Safari') > -1 && userAgent.indexOf('Edge') === -1 && userAgent.indexOf('OPR') === -1 // Chrome浏览器
    var isSafari = userAgent.indexOf('Safari') > -1 && userAgent.indexOf('Chrome') === -1 && userAgent.indexOf('Edge') === -1 && userAgent.indexOf('OPR') === -1 // Safari浏览器
    if (isIE) {
        var reIE = new RegExp('MSIE (\\d+\\.\\d+);')
        reIE.test(userAgent)
        var fIEVersion = parseFloat(RegExp['$1'])
        if (fIEVersion === 7) {
            return { type: 'IE', version: 7 }
        } else if (fIEVersion === 8) {
            return { type: 'IE', version: 8 }
        } else if (fIEVersion === 9) {
            return { type: 'IE', version: 9 }
        } else if (fIEVersion === 10) {
            return { type: 'IE', version: 10 }
        } else {
            return { type: 'IE', version: 6 } // IE版本<7时
        }
    } else if (isIE11) {
        return { type: 'IE', version: 11 }
    } else if (isEdge) {
        var edgeVersion = userAgent.split('Edge/')[1].split('.')[0]
        return { type: 'Edge', version: edgeVersion }
    } else if (isFirefox) {
        var firefoxVersion = userAgent.split('Firefox/')[1].split('.')[0]
        return { type: 'Firefox', version: firefoxVersion }
    } else if (isOpera) {
        var operaVersion = userAgent.split('OPR/')[1].split('.')[0]
        return { type: 'Opera', version: operaVersion }
    } else if (isChrome) {
        var chromeVersion = userAgent.split('Chrome/')[1].split('.')[0]
        return { type: 'Chrome', version: chromeVersion }
    } else if (isSafari) {
        var safariVersion = userAgent.split('Safari/')[1].split('.')[0]
        return { type: 'Safari', version: safariVersion }
    } else {
        return -1 // 未判断出
    }
}

var browserVersionInfo = browserVersion()
// console.log(browserVersionInfo, '浏览器版本判断结果')
// 判断浏览器版本做出相应处理
if (browserVersionInfo !== -1) {
    if (browserVersionInfo.type === 'IE' && browserVersionInfo.version < 11) {
        window.location = window.location.protocol + '//' + window.location.host + '/noSupport.html'
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过以下方法判断当前浏览器版本: 1. 使用 navigator.userAgent 属性获取浏览器信息字符串: ``` var userAgent = navigator.userAgent; ``` 2. 根据不同的浏览器判断规则,解析出浏览器名称和版本号: ``` // 判断是否为IE浏览器 if (userAgent.indexOf("MSIE") != -1 || userAgent.indexOf("Trident") != -1) { // 获取IE版本号 var ieVersion = userAgent.match(/(MSIE|rv:)\s?([\d\.]+)/)[2]; console.log("IE " + ieVersion); } // 判断是否为Edge浏览器 else if (userAgent.indexOf("Edge") != -1) { // 获取Edge版本号 var edgeVersion = userAgent.match(/Edge\/([\d\.]+)/)[1]; console.log("Edge " + edgeVersion); } // 判断是否为Chrome浏览器 else if (userAgent.indexOf("Chrome") != -1) { // 获取Chrome版本号 var chromeVersion = userAgent.match(/Chrome\/([\d\.]+)/)[1]; console.log("Chrome " + chromeVersion); } // 判断是否为Firefox浏览器 else if (userAgent.indexOf("Firefox") != -1) { // 获取Firefox版本号 var firefoxVersion = userAgent.match(/Firefox\/([\d\.]+)/)[1]; console.log("Firefox " + firefoxVersion); } // 判断是否为Safari浏览器 else if (userAgent.indexOf("Safari") != -1) { // 获取Safari版本号 var safariVersion = userAgent.match(/Version\/([\d\.]+)/)[1]; console.log("Safari " + safariVersion); } ``` 注意:以上代码只是简单的示例,实际中可能需要根据具体需求进行修改和完善。同时,由于不同浏览器的 user agent 字符串格式并不相同,因此解析方法也可能存在不同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值