我只想定位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");
}
答案 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';