zoukankan      html  css  js  c++  java
  • 判断请求是否为IE浏览器发起

    最近遇到一个IE低版本浏览器的安全性拦截问题,最终的解决方案是根据请求判断是否为IE浏览器,然后返回不同的结果,下边是前端判断浏览器方法

    function IEVersion() {
        // 取得浏览器的userAgent字符串
        var userAgent = navigator.userAgent;
        // 判断是否为小于IE11的浏览器
        var isLessIE11 = userAgent.indexOf('compatible') > -1 && userAgent.indexOf('MSIE') > -1;
        // 判断是否为IE的Edge浏览器
        var isEdge = userAgent.indexOf('Edge') > -1 && !isLessIE11;
        // 判断是否为IE11浏览器
        var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf('rv:11.0') > -1;
        if (isLessIE11) {
            var IEReg = new RegExp('MSIE (\d+\.\d+);');
            // 正则表达式匹配浏览器的userAgent字符串中MSIE后的数字部分,,这一步不可省略!!!
            IEReg.test(userAgent);
            // 取正则表达式中第一个小括号里匹配到的值
            var IEVersionNum = parseFloat(RegExp['$1']);
            if (IEVersionNum === 7) {
                // IE7
                return 7
            } else if (IEVersionNum === 8) {
                // IE8
                return 8
            } else if (IEVersionNum === 9) {
                // IE9
                return 9
            } else if (IEVersionNum === 10) {
                // IE10
                return 10
            } else {
                // IE版本<7
                return 6
            }
        } else if (isEdge) {
            // edge
            return 'edge'
        } else if (isIE11) {
            // IE11
            return 11
        } else {
            // 不是ie浏览器
            return -1
        }
    }
  • 相关阅读:
    表连接 索引
    数据库类型
    Java重试机制
    Result Maps collection already contains value for xxxMapper.BaseResultMap错误解决办法
    Lombok插件
    REST以及RESTful
    Dubbo
    【日志】MySQL中有多少种日志
    【缓存池】转-Mysql参数innodb_buffer_pool_size
    【MRR】转-MySQL 的 MRR 优化
  • 原文地址:https://www.cnblogs.com/zhxb/p/12071323.html
Copyright © 2011-2022 走看看