Мне нужно определить не только тип браузера, но и версию с помощью jQuery. В основном мне нужно узнать, IE 8 это или нет.
Не уверен, правильно ли я это делаю.
Если я сделаю :
if (jQuery.browser.version >= 8.0) {
dosomething}
Не уверен, что подойдет версия 8.123.45.6 или будет?
Изменить: обратите внимание, что JQuery 2+ отказался от поддержки IE8 и ниже и, следовательно, больше не может использоваться для обнаружения IE8. При использовании текущей версии JQuery необходимо использовать решение, отличное от JQuery.
javascript
jquery
салман
источник
источник
jquery.support.opacity
просто сделало то, что я хотел. Спасибо ...jQuery.browser
него, не требует дополнительной библиотеки, такой как Modernizr, и не требует редактирования HTML (поэтому подходит для плагинов и т. Д.) ...Ответы:
Это задокументировано в документации API jQuery . Проверьте Internet Explorer с помощью,
$.browser.msie
а затем проверьте его версию с помощью$.browser.version
.ОБНОВЛЕНИЕ: $ .browser удален в jQuery 1.9
источник
if(jQuery.browser.version.substring(0, 2) == "8.") { ... }
. Таким образом, он будет работать со всеми версиями IE8.jQuery.browser
устарела в версии 1.3 и в будущем может быть перенесена в плагин. См. Документацию jQuery.browserДумаю, лучше всего было бы так:
Из шаблона HTML5:
в JS:
тем более
$.browser
что был удален из jQuery 1.9+.источник
lt-ie9
AOTie8
<html>
вместо<body>
?Это должно работать для всех минорных версий IE8.
-- Обновить
Обратите внимание , что $ .browser будет удален из JQuery 1.9
источник
Не забывайте, что вы также можете использовать HTML для обнаружения IE8.
Имея это перед всеми вашими скриптами, вы можете просто проверить переменную "ie" или что-то еще.
источник
document.documentMode не определен, если браузер не IE8,
он возвращает 8 для стандартного режима и 7 для «совместимости с IE7»
Если он работает как IE7, многие функции css и dom не будут поддерживаться.
источник
if ((document.documentMode || 100) < 9) { // IE8
0
во время загрузки страницы - «попробуйте определить режим совместимости документа позже» (т.е. после того, как документ будет готов).Предполагая ...
<body>
или<html>
)... тогда это, вероятно, лучший трюк (основанный на этом не-jQuery, чуть менее гибком варианте ). Затем он создает тесты, а затем удаляет соответствующий условный комментарий.
(Условные комментарии игнорируются в «стандартном режиме» IE10 + - но это должно быть нормально, поскольку в «стандартном режиме» IE10 + нет сумасшедшего движка рендеринга!)
Добавьте эту функцию:
Тогда используйте это так:
Я также предлагаю кешировать результаты этой функции, чтобы вам не приходилось ее повторять. Например, вы можете использовать строку
(comparison||'')+' IE '+(version||'')
в качестве ключа для хранения и проверки результата этого теста в каком-либо объекте.источник
Примечание:
1) $ .browser, похоже, отсутствует в jQuery 1.9+ (как отметил Мандип Джайн). Он рекомендуется использовать .поддержку вместо.
2) $ .browser.version может возвращать «7» в IE> 7, когда браузер находится в режиме «совместимости».
3) Начиная с IE 10, условные комментарии больше не работают.
4) jQuery 2.0+ откажется от поддержки IE 6/7/8
5) document.documentMode определяется только в браузерах Internet Explorer 8+. Возвращенное значение сообщит вам, в каком режиме «совместимости» работает Internet Explorer. Тем не менее, это не лучшее решение.
Я пробовал множество вариантов .support (), но оказалось, что когда браузер IE (9+) находится в режиме совместимости, он просто ведет себя как IE 7 ... :(
Пока что я нашел, что это работает (вид-а):
(если documentMode не определен, а htmlSerialize и opacity не поддерживаются, тогда вы, скорее всего, смотрите на IE <8 ...)
источник
Если вы возитесь с версиями браузера, это очень часто приводит к плохим результатам. Вы не хотите реализовывать это самостоятельно. Но вы можете Modernizr, сделанный Полом Айришем и другими умными людьми. Он определит, что на самом деле может делать браузер , и поместит в
<html>
элемент соответствующие классы . Однако с помощью Modernizr вы можете протестировать версию IE следующим образом:Аналогично, вы можете использовать
.lt-ie8
и.lt-ie7
.источник
Вы также должны посмотреть jQuery.support . Обнаружение функций намного более надежно, чем обнаружение браузера, для кодирования ваших функций (если вы просто не пытаетесь регистрировать версии браузера).
источник
Вы можете легко определить тип и версию браузера, используя этот jquery
источник
Вот плагин обнаружения браузера Jquery для определения обнаружения браузера / ОС.
Вы можете использовать это для стилизации после включения плагина.
источник
Вы можете использовать $ .browser для определения имени браузера. возможные значения:
или получите логический флаг: $ .browser.msie будет истинным, если браузер - MSIE.
Что касается номера версии, если вас интересует только основной номер версии - вы можете использовать parseInt ($. browser.version, 10). нет необходимости самостоятельно разбирать строку $ .browser.version.
В любом случае свойство $ .support доступно для обнаружения поддержки определенных функций, а не для использования $ .browser.
источник