检测 IE 版本并禁止低版本在 IE11 中不起作用

detect IE version and forbid the lower version doesn't work in IE11

我使用下面的代码来检测浏览器版本,建议用户使用更高版本的IE。 但它在 IE11 中不能正常工作。

// forbid ie10 below visit
if(navigator.userAgent.match(/msie\s[5-9]/i))
{
 ... // show a advice page to change ie version
}

我发现如果网页发布到服务器,用户会看到 ie 版本更改提示。

User agent string : Internet Explorer 11 (Default)

Document mode 5(Default)

当我将文档模式更改为 11 时,网络运行良好。

我也在html head中使用了下面的代码,但是它不起作用。

<meta http-equiv="X-UA-Compatible" content="IE=11" />

如果您的网站用户使用的是旧版 IE 浏览器,您似乎想通知他们使用 IE 11 浏览器。

示例代码:

<!doctype html>
<html>
<head>
<title>
Test to detect IE browser
</title>

</head>
<body >
<div id="info"></div><br>
<h2>Test Page...</h2>

<script>
function Detect_IE() {
           var ua = window.navigator.userAgent;
         
           var msie = ua.indexOf('MSIE ');
           if (msie > 0) {
            
             return "IE " + parseInt( ua.substring(msie + 5, ua.indexOf('.', msie)), 10);
           }
         
           var trident = ua.indexOf('Trident/');
           if (trident > 0) {
            
             var rv = ua.indexOf('rv:');
             return "IE " + parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);
           }

           // other browser
           return "false";
         }
         var result=Detect_IE();
         if (result=="false")
         {
            document.getElementById("info").innerHTML +="<h2>Not IE, any other browser....</h2>";
         }
     else if (result=="IE 11")
         {
            document.getElementById("info").innerHTML += "<h2>Dear user you are using " + result + ".</h2>";
         }
         else
         {
            document.getElementById("info").innerHTML += "<h2>Dear user you are using " + result + " This browser is outdated and not supported by this site. Kindly use supported browser...</h2>";
         }
</script>
</body>
</html>

输出: