Не удается обнаружить браузер с помощью Modernizer

0

Я недавно просмотрел весь проект jquery до последней версии, и я попал в дорожный блок, когда услышал, что $.browser устарел и удален из последней версии jquery

Поэтому я решил использовать модернизатор для достижения того же, но я как-то не смог получить объект браузера, когда я запускаю этот $.browser на консоли, вместо этого получаю undefined

Вот вывод JSFIDDLE, описывающий тот же

Любая вещь, которую я делаю неправильно

  • 0
    Неужели вы остановились на минуту, чтобы задуматься, почему был удален $.browser , и почему Modernizr прилагает столько усилий, чтобы обеспечить обнаружение функций, а не анализировать пользовательский агент?
Теги:
modernizr

2 ответа

1
Лучший ответ

Обнаружение браузера и обнаружение функций

Или почему браузер нюхает не рекомендуемую практику?

Я рекомендую вам некоторое исследование об обнаружении функций и почему это лучше, чем обнаружение браузера или выключение браузера. В этой статье, посвященной учебному центру jQuery, объясняются обе методики и почему функция обнаружения лучше, чем обнаружение браузера.

Подводя итог, цитируя статью, я имею в виду:

Обнаружение браузера

Обнаружение браузера - это метод, в котором строка User Agent (UA) браузера проверяется на конкретный шаблон, уникальный для семейства браузеров или версии.

Обнаружение функции

Специальное обнаружение функции проверяет, доступна ли какая-либо конкретная функция, вместо того, чтобы развиваться против определенного браузера. Таким образом, разработчики могут написать свой код для двух случаев: браузер не поддерживает функцию сказал, или браузер не поддерживает функцию сказал.

Хотя обнаружение браузера является простым решением, есть несколько проблем:

  • Другие браузеры, кроме вашей цели, могут иметь одинаковую проблему. Если мы ориентируемся на определенный браузер для разных функций, мы неявно исключаем любой браузер, который мы не учитывали.

  • Агенты пользователей ненадежны. Пользовательские агенты устанавливаются клиентским браузером и также настраиваются пользователем. Хотя пользователь может изменить эту строку, поддержка функций браузера остается неизменной.


Как сказал @Garath по его ответу, я рекомендую вам модернизировать как библиотеку обнаружения функций. Вы также можете взглянуть на jQuery.support, но команда jQuery не рекомендует использовать ее, как она предназначена для внутреннего использования jQuery.

  • 0
    Интересно, я никогда не думал об этом
  • 0
    @Ratatouille Я рад, что это помогает тебе: D
1

Используя Modernizer, вы можете проверить, доступна ли какая-либо функциональность HTML5 в выбранном браузере. Это не библиотека, чтобы вернуть $.browser

Если вам нужно вернуть $.browser вы можете использовать: https://github.com/gabceb/jquery-browser-plugin

  • 0
    Возможно, мне придется принять ответ laconboss, потому что его ответ более каноничен и сосредоточен на сути проблемы Извините :(

Ещё вопросы

Сообщество Overcoder
Наверх
Меню