Обнаружение IE с помощью jQuery

$(window).load(function () {
   if($.browser.msie && $.browser.version=="6.0") {
     // do stuff
   }
});

Просто понял, что $.browser обесценился в 1.3. Какой новый метод для обнаружения IE, особенно IE6.

Ответ 1

документация jQuery для jQuery.browser показывает следующее предупреждение. (Акцент мой.)

Поскольку $.browser использует navigator.userAgent для определения платформы, , он уязвим для подмены пользователя или искажения самой браузером. Всегда лучше избегать кода, специфичного для браузера,, где это возможно. Вместо того, чтобы полагаться на $.browser, лучше использовать библиотеки, такие как Modernizr.

На странице документации также написано:

Это свойство было удалено в jQuery 1.9 и доступно только через плагин jQuery.migrate. Пожалуйста, попробуйте использовать обнаружение функции.

Даже jQuery.support, который был предложен из старой документации, имеет следующее предупреждение. (Акцент мой.)

Коллекция свойств, которые представляют наличие различных функций или ошибок браузера. Предназначен для внутреннего использования jQuery; определенные свойства могут быть удалены, когда они больше не нужны внутренне, чтобы улучшить производительность запуска страницы. Для ваших собственных потребностей в обнаружении функций проекта мы настоятельно рекомендуем использовать внешнюю библиотеку, такую ​​как Modernizr вместо зависимости от свойств в jQuery.support.

В предыдущей документации для jQuery.support были указаны следующие свойства и значения.

  • $.support.boxmodel false в IE 6 и 7.
  • $.support.cssFloat - false для IE 6, 7 и 8; это true в IE 9.
  • $.support.leadingWhitespace false для IE 6, 7 и 8.
  • $.support.objectAll в настоящее время false для IE 6, 7 и 8.

Ответ 2

hot из документации: мы рекомендуем не использовать это свойство, попробуйте вместо этого использовать функцию обнаружения (см. jQuery.support).

Ответ 3

Показать информацию обозревателя

jQuery.each( jQuery.browser, function( i, val ) {
$( "<div>" + i + " : <span>" + val + "</span>" )
.appendTo( document.body );
});

Оповестите версию используемого механизма рендеринга IE. Не будет работать в jQuery 1.9 или более поздней версии, если не включен плагин jQuery Migrate.

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