Я не хочу разрешать пользователям получать доступ к моему сайту с помощью 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, если оно есть.
Это работает для меня, чтобы обнаружить любую версию IE 5-11 (Internet Explorer) (август / 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."); }
Это связано с тем, что каждая версия Internet Explorer обновляет строку user-agent .
MSIE
были удалены в Internet Explorer 11, а $.browser
использует navigator.userAgent
для определения платформы и удаляется в jQuery 1.9.
Вы можете использовать следующий код, чтобы определить браузер с помощью чистого java-скрипта.
var isIE = !!navigator.userAgent.match(/Trident/g) || !!navigator.userAgent.match(/MSIE/g); if(isIE){ alert("IE"); } else{ alert("Not IE"); }
Благодаря!
если вы не интересуетесь версией, то есть пользователем, используемым в настоящее время, вы можете попытаться заставить ее работать с обнаружением, поддерживает ли браузер Conditional Compilation Statements
http://msdn.microsoft.com/en-us/library/7kx09ct1%28v=vs.80%29.aspx
if(/*@cc_on!@*/false) { // You use IE. That´s no good. alert("oh my god"); }
Вы можете использовать условную компиляцию , например
<script> var isIE = false; /*@cc_on isIE = true; @*/ </script>
Но обратите внимание, что IE11 не соблюдает это в стандартном режиме. Обнюхивающий агент пользователя, как правило, представляет собой плохую идею, но по мере того, как IE становится более совместимым со стандартами, также становится все труднее обнаружить (надеюсь, это также означает меньше необходимости)
В прошлом я нашел (возможно, в SO), и это сработало для меня (IE 10 тоже)
<![if IE]> <script type='text/javascript'> if(/*@cc_on!@*/false) var bIsIE = 1; </script> <![endif]>
а потом
if (typeof (bIsIE) != 'undefined') { //IE :( } else { //NOT IE :) }
Для IE> 10, который в настоящее время является IE 11, пользовательский агент переносит что-то в заголовках HTTP-заголовков браузера
Mozilla / 5.0 (Windows NT 6.3, WOW64; Trident / 7.0; rv: 11.0 ), как Gecko
Вы можете поместить чек на « rv: 11.0 » для версии 11. Сообщите мне, нужен ли вам код для этого.