Подтвердить что ты не робот

Обнаруживать, если какой-либо IE (MSIE)

Я не хочу разрешать пользователям получать доступ к моему сайту с помощью Microsoft Internetexplorer (ЛЮБАЯ ВЕРСИЯ).

То, что я нашел до сих пор, заключалось в том, чтобы определить, имеет ли он более низкую или равную версию 10.

Очень интересная вещь: Internetexplorer > v10 не признает, что является InternetExplorer.

Что я нашел и пытался до сих пор:

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, если оно есть.

4b9b3361

Ответ 1

Это работает для меня, чтобы обнаружить любую версию IE 5-11 (Internet Explorer) (Aug/05/2014):

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 обновляет строку user-agent.

В Internet Explorer 11 удалены токены

MSIE, а $.browser использует navigator.userAgent для определения платформы, и она удаляется в jQuery 1.9.

Вы можете использовать следующий код для определения браузера с чистым java- script.

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

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

Спасибо!

Ответ 3

если вас не интересует версия, то есть пользователь, который в настоящее время использует, вы можете попытаться заставить ее работать с обнаружением, поддерживает ли браузер Conditional Compilation Statements

http://msdn.microsoft.com/en-us/library/7kx09ct1%28v=vs.80%29.aspx

if(/*@[email protected]*/false)
{
    // You use IE. That´s no good.
    alert("oh my god");
}

Ответ 4

Вы можете использовать условную компиляцию , например,

<script>
var isIE = false;
/*@cc_on isIE = true; @*/
</script>

Но обратите внимание, что IE11 не соблюдает это в стандартном режиме. Обнюхивающий агент пользователя, как правило, плохая идея, но по мере того, как IE становится более совместимым со стандартами, также становится все труднее обнаружить (надеюсь, это также означает меньше необходимости)

Ответ 5

Я нашел (возможно, в SO) в прошлом этот script, и он работал у меня (IE 10 тоже)

<![if IE]>
<script type='text/javascript'>
if(/*@[email protected]*/false)
var bIsIE = 1;
</script>
<![endif]>

а затем

if (typeof (bIsIE) != 'undefined')
{
    //IE :(
}
else
{
    //NOT IE :)
}

Ответ 6

Для IE > 10, который в настоящее время является IE 11, пользовательский агент переносит что-то в заголовках HTTP-заголовков браузера

Mozilla/5.0 (Windows NT 6.3, WOW64; Trident/7.0; rv: 11.0), как Gecko

Вы можете поместить чек на " rv: 11.0" для версии 11. Сообщите мне, нужен ли вам код для этого.