Пытаясь уйти в отставку jquery-migrate
В настоящее время я использую $.browser.webkit
а также $.browser.msie
потому что типы ввода между браузерами имеют множество уникальных различий в пользовательском интерфейсе, которые мне приходится учитывать.
В частности: Chrome меняет мой диапазон на слайдер, а IE нет; и я должен поместить счетчик на тип времени IE, Chrome покрывает это. Есть и другие, но это те, с которыми мне приходится иметь дело чаще всего.
Каков предпочтительный способ проверки этих различий, а не использование теста браузера migrate lib? (Я знаю, что мог бы запросить userragent напрямую, но я бы предпочел запросить пользовательский интерфейс, чтобы узнать, нужно ли мне добавить спиннер или слайдер и т. Д.)
1 ответ
Короткий ответ, у mplungjan был ответ, который был близок, но не тот, который мне был нужен. Если вы посмотрите на IE11 против Chrome, где оба имеют поддерживаемую функцию, вы можете увидеть, где они оказывают поддержку совершенно по-разному. Таким образом, мое решение в конечном итоге заключалось в том, чтобы остаться с библиотекой migrate для определения браузера и версии, а затем сделать так, чтобы мой код переопределял отображение в браузерах, которым это необходимо.
Это означает, что я буду вести словарь браузеров и реализованных функций, чтобы мой код мог разумно переопределять, как того требует словарь.
Что касается случая, когда функция не поддерживается, я просто продолжу использовать стандартный тест для функции, который сработал, и mplungjan связался с одним из самых простых способов тестирования. Не самый лучший, но самый простой.
Переход на Twitter Bootstrap и Angular.JS UI уменьшил эту причуду благодаря использованию решений других людей.