Подтвердить что ты не робот

Обнаружение Internet Explorer 6 или ниже в jQuery

Я новичок в jquery и задаюсь вопросом: это простой способ определить, является ли браузер Internet Explorer 6 или ниже?

4b9b3361

Ответ 1

Проще всего это:

if($.browser.msie && $.browser.version=="6.0") alert("Im the annoying IE6");

Обновление

Обратите внимание, что $. browser удален из jQuery 1.9

Если вам все еще нужно использовать $.browser в jQuery 1.9 (или другие устаревшие функции), попробуйте jQuery-migrate (https://github.com/jquery/jquery-migrate/ - http://code.jquery.com/jquery-migrate-1.2.1.js)

Ответ 2

Вы также можете спросить IE напрямую.

<!--[if lte IE 6]>
<script type="text/javascript">
  var isRunningIE6OrBelow = true;
</script>
<![endif]-->

Ответ 3

jQuery проверяет функции, а не "браузеры". Тем не менее, вы можете использовать метод jQuery.support, чтобы определить, на что способен браузер пользователей.

Устаревшие методы (не использовать)

  • $. Браузер
  • $. Browser.version
  • $. BoxModel

http://docs.jquery.com/Utilities/jQuery.support даст вам краткое описание того, какие функции поддерживаются браузерами. Принимая эти данные, вы разработаете пару условных проверок, чтобы определить, является ли используемый браузер вашим целевым браузером или нет.

Ответ 4

if ($.browser.msie && parseInt($.browser.version, 10) <= 6) {
  alert("I'm not dead yet!"); 
}

- обновить

Пожалуйста, не используйте $. browser удален из jQuery 1.9

Ответ 5

Очень хороший способ обнаружения IE:

if ('v'=='\v') {
   welcome to IE )) 
}

К сожалению, он не может распознать свою версию, но это не всегда неудобно.

Ответ 6

Если ActiveXObject существует и XMLHttpRequest нет, это IE6:

/* IE6 Check */
(!!window.ActiveXObject && !window.XMLHttpRequest) ? true : false;

В IE7 это будет:

(!!window.ActiveXObject && !!window.XMLHttpRequest) ? true: false;

Ссылки

Ответ 7

Кроме того, еще один хороший момент в том, что с JQuery вы не должны беспокоиться о версии.

Это не поможет, если вы используете jquery для исправления ошибки рендеринга IE6 css.

Ответ 8

Я часто проверяю версию браузера. Метод .support велик, но на самом деле это не помогает, когда вам нужно скрыть выбор, когда есть оверлей. Нет "подстановок поддержки - это оконные элементы управления". Вам просто нужно проверить версию браузера, поэтому я бы сказал, что ошибаюсь в методе .support, где это возможно, и при необходимости используйте .browser.

Ответ 9

Просто чтобы люди знали $.browser.msie && &/6.0/.test(navigator.userAgent) не является надежным, я пришел к этому вопросу, ища ответ на проблему с jguery bgiframe, который ломается на моей машине, потому что у меня есть Media Center PC 6.0 в моей строке navigator.userAgent. Теперь я редактировал источник, чтобы использовать тест $browser.version.

Его глупое из JQuery, чтобы обесценить эти тесты браузера, потому что они уродливы, поскольку они, возможно, необходимы для устранения уродливого состояния экосистемы браузера.

Ответ 11

http://docs.jquery.com/Utilities/jQuery.browser.version как

EDITED: Исправлена ​​ссылка из Douglas

http://api.jquery.com/jQuery.browser/#jQuery.browser.version

Я имею в виду, если у вас была старая версия не последней версии 1.3...

Кроме того, еще один хороший момент в том, что с JQuery вы не должны беспокоиться о версии. JQuery действительно выполняет тестирование и обрабатывает все эти малярии для вас. Беспокойство о версиях и платформах довольно 1999

Ответ 12

Попробуйте следующее:

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

если вам нужна дополнительная информация, обратитесь к этому:

http://docs.jquery.com/Utilities/jQuery.browser

Ответ 13

"Пока маловероятно, что jQuery.browser будут удалены, все усилия по использованию jQuery.support и соответствующая функция должно быть сделано."

Итак, я говорю, продолжайте использовать его. Они должны поддерживать обратную совместимость со сценариями, которые все еще используют метод обнюхивания пользовательского агента.