Обнаружение IE с использованием jQuery

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

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

3 ответа

Решение

Документация 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.

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

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

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 );
}
Другие вопросы по тегам