IE10及以下浏览器检测

时间:2016-01-13 04:37:24

标签: internet-explorer

我只想定位IE10及以下版本的IE浏览器。 请帮帮我。 我试过下面的代码

var userAgent = navigator.userAgent;
            var regexIe8 = new RegExp("Trident(\/4.0)|(Trident\/5.0)");
            if (regexIe8.test(userAgent)) {
                alert("test1");
            }
            else {
                alert("test2");
            }

3 个答案:

答案 0 :(得分:9)

在Internet Explorer 11中,Microsoft取出了“MSIE”,现在看起来像这样:

Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko

所以你可以检查是否存在“MSIE”,告诉你它是否是旧版本。

if (navigator.userAgent.indexOf("MSIE") >= 0) {
    document.write("You are using an unsupported version of Internet Explorer. Please upgrade to Internet Explorer 11 or use a different web browser.");
}

请注意,如果Internet Explorer处于兼容性视图中,并且您尚未指定X-UA兼容标头,则它会将自己标识为IE 7并且也会像它一样运行。

答案 1 :(得分:4)

使用条件注释代替Javascript检测:

then

只需将其直接粘贴到您希望显示通知的页面中即可。不需要Javascript(当然,如果你愿意,你可以在这里使用JS。)

请注意,IE10不再支持条件注释,因此您只需检查<!--[if IE]> <div class='old-browser'>You are running an un-supported version of Internet Explorer. Please upgrade</div> <![endif]--> 以捕获IE9的所有版本。

答案 2 :(得分:0)

这是一个很棒的CodePen,它为所有版本的IE和Edge提供了完整的解决方案:

https://codepen.io/gapcode/pen/vEJNZN

来自linke,以下是window.navigator.userAgent

的各种值的示例
  // IE 10
  // ua = 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)';

  // IE 11
  // ua = 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko';

  // Edge 12 (Spartan)
  // ua = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0';

  // Edge 13
  // ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586';