Я недавно просмотрел весь проект jquery до последней версии, и я попал в дорожный блок, когда услышал, что $.browser
устарел и удален из последней версии jquery
Поэтому я решил использовать модернизатор для достижения того же, но я как-то не смог получить объект браузера, когда я запускаю этот $.browser
на консоли, вместо этого получаю undefined
Вот вывод JSFIDDLE, описывающий тот же
Любая вещь, которую я делаю неправильно
Или почему браузер нюхает не рекомендуемую практику?
Я рекомендую вам некоторое исследование об обнаружении функций и почему это лучше, чем обнаружение браузера или выключение браузера. В этой статье, посвященной учебному центру jQuery, объясняются обе методики и почему функция обнаружения лучше, чем обнаружение браузера.
Подводя итог, цитируя статью, я имею в виду:
Обнаружение браузера - это метод, в котором строка User Agent (UA) браузера проверяется на конкретный шаблон, уникальный для семейства браузеров или версии.
Специальное обнаружение функции проверяет, доступна ли какая-либо конкретная функция, вместо того, чтобы развиваться против определенного браузера. Таким образом, разработчики могут написать свой код для двух случаев: браузер не поддерживает функцию сказал, или браузер не поддерживает функцию сказал.
Хотя обнаружение браузера является простым решением, есть несколько проблем:
Другие браузеры, кроме вашей цели, могут иметь одинаковую проблему. Если мы ориентируемся на определенный браузер для разных функций, мы неявно исключаем любой браузер, который мы не учитывали.
Агенты пользователей ненадежны. Пользовательские агенты устанавливаются клиентским браузером и также настраиваются пользователем. Хотя пользователь может изменить эту строку, поддержка функций браузера остается неизменной.
Как сказал @Garath по его ответу, я рекомендую вам модернизировать как библиотеку обнаружения функций. Вы также можете взглянуть на jQuery.support, но команда jQuery не рекомендует использовать ее, как она предназначена для внутреннего использования jQuery.
Используя Modernizer, вы можете проверить, доступна ли какая-либо функциональность HTML5 в выбранном браузере. Это не библиотека, чтобы вернуть $.browser
Если вам нужно вернуть $.browser
вы можете использовать: https://github.com/gabceb/jquery-browser-plugin
$.browser
, и почему Modernizr прилагает столько усилий, чтобы обеспечить обнаружение функций, а не анализировать пользовательский агент?