检测是否有任何类型的 IE (MSIE)

2022-08-30 10:22:30

我不想允许用户使用Microsoft Internetexplorer(任何版本)访问我的网站。

到目前为止,我发现的是检测它是否低于或等于版本10。

一件非常令人讨厌的事情:互联网探索者>v10不承认自己是互联网探索者。

到目前为止,我发现并尝试了什么:

if(navigator.appVersion.indexOf("MSIE")!=-1){
alert("You use IE. That´s no good.");
}

if ( $.browser.msie ) {
alert( $.browser.version );
}

http://msdn.microsoft.com/en-us/library/ie/ms537509%28v=vs.85%29.aspx

如果它是在javascript,jquery或php中,我会使用任何解决方案,如果有的话。


答案 1

这可以让我检测IE 5-11(Internet Explorer)的任何版本(2014年8月5日):

if (navigator.appName == 'Microsoft Internet Explorer' ||  !!(navigator.userAgent.match(/Trident/) || navigator.userAgent.match(/rv:11/)) || (typeof $.browser !== "undefined" && $.browser.msie == 1))
{
  alert("Please dont use IE.");
}

答案 2

这是因为 Internet Explorer 的每个版本都会更新用户代理字符串

MSIE令牌已在 Internet Explorer 11 中删除,用于确定平台,并在 jQuery 1.9 中删除。$.browsernavigator.userAgent

您可以使用以下代码通过纯 java 脚本确定浏览器。

var isIE = !!navigator.userAgent.match(/Trident/g) || !!navigator.userAgent.match(/MSIE/g);

if(isIE){
 alert("IE"); 
}
else{
 alert("Not IE");   
}

谢谢!