Обнаружение IE с использованием jQuery - PullRequest
20 голосов
/ 22 декабря 2009
$(window).load(function () {
   if($.browser.msie && $.browser.version=="6.0") {
     // do stuff
   }
});

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

Ответы [ 3 ]

19 голосов
/ 22 декабря 2009

Документация 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.
6 голосов
/ 22 декабря 2009

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

1 голос
/ 17 июня 2014

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

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 );
}
...