Я новичок в jquery и задаюсь вопросом: это простой способ определить, является ли браузер Internet Explorer 6 или ниже?
Обнаружение Internet Explorer 6 или ниже в jQuery
Ответ 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, чтобы обесценить эти тесты браузера, потому что они уродливы, поскольку они, возможно, необходимы для устранения уродливого состояния экосистемы браузера.
Ответ 10
i всегда использовал это решение
http://sinfinity.pl/blog/2012/02/12/detect-internet-explorer-and-browser-version-in-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);
});
если вам нужна дополнительная информация, обратитесь к этому:
Ответ 13
"Пока маловероятно, что jQuery.browser будут удалены, все усилия по использованию jQuery.support и соответствующая функция должно быть сделано."
Итак, я говорю, продолжайте использовать его. Они должны поддерживать обратную совместимость со сценариями, которые все еще используют метод обнюхивания пользовательского агента.