Существует ли библиотека JS для добавления функций HTML 5 в браузеры, которые их не поддерживают? - PullRequest
0 голосов
/ 28 ноября 2011

Я хотел бы использовать autofocus="autofocus" в своем коде, но, поскольку некоторые браузеры пока не поддерживают это, я подумал о добавлении некоторого кода JS, который будет искать элемент с таким тегом и фокусировать егос JS.Но так как это кажется общим требованием, мне интересно, есть ли какие-нибудь готовые библиотеки, которые могут справиться хотя бы с некоторыми неудобствами HTML5 в старых браузерах?

Ответы [ 4 ]

3 голосов
/ 28 ноября 2011

Я считаю, что правильный ответ был бы не совсем. Modernizr 2.0 (включая html5shim) дает нам семантические элементы html5 (на самом деле это делает html5shim) и отличное обнаружение функций, которое вы можете использовать для изящного js fallback.

В вашем случае это будетиспользование jQuery .focus () с чем-то вроде:

      if (!Modernizr.autofocus){
        $('input[autofocus=""]').focus();
  }

больше примеров здесь

2 голосов
/ 28 ноября 2011

Если старые браузеры не поддерживают определенные расширенные функции, то я бы сказал, следуйте прогрессивное улучшение и , не беспокойтесь об этом .Пока основная функциональность вашего сайта - заказ продуктов или что-то еще - работает по всем направлениям, не бойтесь добавлять блестящие функции html5 для удобства ваших пользователей с хорошими браузерами.

Использование неуклюжего / стороннего кода, заставляющего IE6 и 7 вести себя цивилизованно, потенциально будет для вас большой работой, будет подвержено ошибкам и даже не даст вам слишком многоокупаемости, так как люди, использующие IE6, вероятно, не будут оглядываться через плечо пользователей Chrome, чтобы увидеть там более привлекательную версию вашего сайта.

Вот слайды (из jQueryконференции), которая действительно привела меня домой.

0 голосов
/ 28 ноября 2011

Роль Modernizr (ранее упоминавшегося) заключается в обнаружении функций, чтобы определить, какие функции HTML 5 доступны.Modernizr не делает автоматически недоступные функции HTML 5 доступными, но позволяет вам условно загружать сценарии (обычно называемые полифиллами) для добавления этих функций.В случае autofocus библиотека html5support должна предоставить то, что вам нужно, и вы можете использовать условную загрузку Modernizr, чтобы загружать ее только при необходимости.

0 голосов
/ 28 ноября 2011

Пользователи таких библиотек, как jQuery, говорят, что они реализуют такую ​​функцию. В любом случае, я не рекомендую это делать, попробуйте самостоятельно написать минимальное количество необходимых вам функций.

Взгляните также на http://www.modernizr.com/.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...