HTML 5 Таблица совместимости браузеров - HTML 5 в старых браузерах?

Я только начал рассматривать использование HTML 5 API для проекта Rails/JQuery, так что я могу использовать этот отличный data- атрибут для хранения значений.

Я беспокоюсь о проблемах совместимости браузера. У меня есть два вопроса (основные вопросы):

  1. Чтобы использовать HTML 5, нужно ли обновлять браузеры? Как это работает?

  2. Существует ли актуальная диаграмма того, какие функции поддерживает каждый механизм компоновки браузера, более свежая, чем эта статья в Википедии о сравнении механизмов компоновки HTML и эта статья. Когда я могу использовать... страницу HTML 5?

Это будет проблемой для людей, использующих IE6, например? Я встречался с множеством некомпьютерных людей, которые хотят сами использовать интернет-присутствие, а люди, с которыми они общаются, все еще используют IE6!

Если это не проблема, и вы можете использовать HTML 5 в старых браузерах, как вы? Или какие документы я должен посмотреть:)? Благодарю.

Обновление: я опубликую некоторые интересные ссылки, поскольку я нахожу их ниже.

FindMeByIP: "Простое приложение, которое показывает поддержку ваших браузеров для функций CSS3 и HTML5 в удобном для чтения формате с помощью Modernizr". - Поддержка браузером CSS3 и HTML5

6 ответов

Решение

Бесполезно рассматривать HTML5 как единую сущность, которую браузеры "поддерживают" или "не поддерживают". HTML5 это:

  • попытка кодифицировать широко распространенную существующую практику за пределами того, что охватывали предыдущие стандарты W3 HTML и DOM, такие как расширения IE и Firefox, которые скопировали другие браузеры, и давнишнее поведение "DOM Level 0", которое каждый принимал как должное но не было записано ни в одной спецификации раньше.

  • случайный выбор новых расширений, которые еще не получили широкого распространения, что, как мы надеемся, производители браузеров поддержат. Некоторые уже преуспели, направляясь во все новые браузеры уже; некоторые были выделены в свои собственные спецификации (которые гораздо более понятны для всех), некоторые противоречивы, а некоторые никого не волнуют вообще.

ИМО было огромной ошибкой пытаться охватить эти две базы одновременно. Я бы предпочел стандарт "догоняющий" в стиле HTML 3.2 плюс множество отдельных спецификаций расширений. Но сейчас ничего не поделаешь.

HTML5 также:

  • Не закончен Спецификация массивна, сложна, неполна и, вероятно, изменится в деталях (или, может быть, более того), прежде чем она станет надлежащим стандартом. Никто еще не может сказать, что они "поддерживают HTML5", потому что никто еще не знает, что на самом деле будет "HTML5".

С практической точки зрения: некоторые части HTML5 уже давно используются. Есть некоторые части, которые вы можете безопасно использовать в современных браузерах. Есть некоторые части, которые вы можете использовать в новых браузерах, кроме IE. Есть много частей, которые вы можете использовать с обходными путями или "постепенной деградацией". Есть некоторые части, которые вы никогда не сможете использовать. Сейчас вам придется изучать каждый из них по отдельности, потому что не будет браузера, который бы поддерживал абсолютно все в HTML5 в течение многих, многих лет. Если даже. Постепенно добавляйте дополнительные функции, которые вам нравятся, и они поддерживаются большей частью браузеров; не будет "большого взрыва", когда все обновят свой браузер сразу.

Что касается data- атрибуты, ну, да, вы можете сойти с рук, используя их, так как большинство браузеров всегда разрешают проходить любые старые атрибуты. Это типично для нескольких расширений HTML5, браузер не должен явно "поддерживать" его, чтобы он работал.

Но поскольку существуют другие способы передачи данных (классы, комментарии, блоки скриптов и т. Д.), Я не совсем уверен, что стоит отбросить (универсально поддерживаемые, проверяемые в соответствии с фиксированным стандартом) страницы HTML4/XHTML1 только для этой единственной функции пока,

Вы можете проверить http://diveintohtml5.ep.io/ и http://www.modernizr.com/.

Modernizr - это небольшая и простая библиотека JavaScript, которая помогает вам использовать преимущества новых веб-технологий (CSS3, HTML 5), сохраняя при этом высокий уровень контроля над старыми браузерами, которые еще могут не поддерживать эти новые технологии.


Вот интерактивный график поддержки html-функций: http://a.deveria.com/caniuse/

Как видите, существует множество браузеров, которые поддерживают довольно много функций H5.

Если вы используете jQuery, обеспокоены совместимостью и единственной причиной, по которой вы исследуете HTML5, является использование data-* набор атрибутов, то я бы рассмотрел переключение обратно на лучше поддерживаемый тип документа и использование jQuery's $().data() метод, который позволяет привязывать произвольные фрагменты данных к узлам DOM, аналогично тому, как data- набор атрибутов делает.

Пример:

<button id="set">Click me!</button>

$('button#set').click(function(){
    if($(this).data('name')){
        alert('Clickin\' again so soon, ' + $(this).data('name') + '?');
    }else{
        $(this).data('name', prompt('Hey good lookin\', what\'s your name?', ''));
    }
});

Попробуйте!

Мой ответ может быть не тот, который вы хотели бы, но я бы сказал - нет. Пока не используйте HTML 5.

Используйте Protovis. Он использует JavaScript и HMTL5. Нет вспышки здесь. Что еще более важно, у Protovis есть лицензия BSD. Таким образом, вы можете использовать его в коммерческих проектах. Хотя D3 - более новый проект, над которым работают авторы Protovis.

Хотя это старый (иш) вопрос, тема поддержки браузера всегда будет актуальна. Не существует правильного или неправильного подхода к нему, но посмотрите одну из множества таблиц поддержки функций браузера, которые показывают, какой процент пользователей увидит определенную функцию, а затем проявит жестокость.

Не пытайся угодить всем. Не убивайте себя, чтобы поймать несколько процентов луддитов, которые все еще используют IE7. В следующем году замените его на IE8. Лично я был бы рад потерять 8%, чтобы тратить это время на дальновидные практики, а не на тех, кто не знает, что такое модернизация.

Возможно, ваш сайт заставит людей обновиться. Эти люди придут в конце концов.

Другие вопросы по тегам