Пытаясь удалить JQuery-мигрировать

0

В настоящее время я использую $.browser.webkit и $.browser.msie потому что типы ввода между браузерами имеют множество уникальных отличий в пользовательском интерфейсе, которые мне нужно учитывать.

В частности: Chrome меняет свой диапазон на слайдер, IE не работает; и я должен поместить spinner в тип времени IE, Chrome покрывает это. Есть и другие, но это те, с которыми мне приходится иметь дело больше всего.

Каков предпочтительный способ проверки этих различий, а не использование теста переноса migrate lib? (Я знаю, что могу напрямую обращаться к пользовательскому агенту, но я бы предпочел обратиться к пользовательскому интерфейсу, чтобы узнать, нужно ли мне добавить счетчик или слайдер и т.д.).

  • 0
    Если вы хотите проверить доступность элементов html5, создайте в памяти ввод типа date и проверьте, является ли он датой или текстовым полем. Это FAQ
  • 0
    Поле отображается как доступное, но они отображаются совершенно иначе. Это проблема рендеринга, которую я хочу решить.
Показать ещё 2 комментария
Теги:
browser
jquery-migrate

1 ответ

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

Короткий ответ, у mplungjan был ответ, который был близок, но не тот, в чем я нуждался. Если вы посмотрите на IE11 vs Chrome, у которого есть поддерживаемая функция, вы можете увидеть, где они оказывают поддержку полностью по-разному. Таким образом, мое решение закончилось тем, что вы остаетесь с migrate lib, чтобы обнаружить браузер и версию, а затем мой код переопределяет рендеринг в браузерах, которые в нем нуждаются.

Это означает, что я буду хранить словарь браузеров и реализованные функции, поэтому мой код может разумно переопределить, поскольку словарь диктует.

Что касается случая, когда функция не поддерживается, я просто продолжу использовать стандартный тест для функции, которая сработала, и mplungjan связан с одним из самых простых способов тестирования. Не самое лучшее, но самое легкое.

Переключение на Twitter Bootstrap и пользовательский интерфейс Angular.JS уменьшили часть этой странности, используя другие решения для людей.

  • 0
    Вы не должны полагаться на обнаружение браузера. Одно я не понимаю. Если у вас уже есть работающий спиннер, слайдер и т. Д., Почему бы просто не использовать их? Я имею в виду в каждом браузере. Вам не нужно ничего обнаруживать.
  • 0
    Проблема в том, что каждый браузер отображает пользовательский интерфейс по-своему. CSS только заходит так далеко. Чтобы преодолеть различия в пользовательском интерфейсе и совместимости с браузерами, я сделал все возможное, чтобы определить возможности Modernizr. Так что теперь я нахожусь в точке, где вещи, которые просто не работают должным образом, я создал compat lib и преодолел недостатки с помощью lib. Тем не менее, это все старое, с тех пор я все это выбросил и пошел с Twitter Bootstrap + Angular.js для внешнего интерфейса.

Ещё вопросы

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