Intereting Posts
CakePHP: Как я буду маршрутизировать все отсутствующие вызовы контроллера / действия на одну общую страницу ошибок? Использование неопределенной константы в скрипте Предупреждение Codeigniter PHP Как автоматически передать расширение на номер Twilio при вызове с обычного телефона? Отладка маршрутов в кодеригнере? Опубликовать MySQL Результат с помощью AJAX через jQuery Настройка пользовательских параметров при добавлении продукта в корзину через SOAP в Magento Запрос jQuery AJAX завершается ошибкой 503 только с параметром «http://example.com» в качестве значения Является ли ini_set ('max_execution_time', 0) плохой идеей? Подсчет количества совпадающих слов .htaccess RewriteRule для сохранения параметров GET URL Как Smarty 3 можно использовать с Zend Framework 2? Захват исключений базы данных в Symfony2 Как передать переменные как stdin в командной строке из PHP Linux odbc Неустранимая ошибка: разрешенный размер памяти

Обнаруживать, если какой-либо 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, если оно есть.

Это работает для меня, чтобы обнаружить любую версию 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. Сообщите мне, нужен ли вам код для этого.