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
        }
    }
  • 相关阅读:
    Sublime安装package control的操作
    Sublime的简单操作
    C# 泛型方法
    C# 数组的讲解(ArrayList 与List的区别)
    免费的天气API
    bootstrapValidator的验证
    sqlServer 多行合并为一行
    bootstrap的安装注意
    SQL数据库中把一个表中的数据复制到另一个表中
    JavaScript的误区
  • 原文地址:https://www.cnblogs.com/zhxb/p/12071323.html
Copyright © 2011-2022 走看看