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

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

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

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

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

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

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

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

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


person Lance Pollard    schedule 12.02.2010    source источник
comment
По атрибутам data- см. stackoverflow.com/questions/2412947/, stackoverflow.com/questions/5696464/ и другие дубликаты.   -  person Paul D. Waite    schedule 28.06.2011
comment
В HTML5 см. diveintohtml5.org/introduction.html.   -  person Paul D. Waite    schedule 28.06.2011
comment
URL-адрес для diveintohtml5 был изменен - ​​он отображается на diveintohtml5.ep.io   -  person DanBeale    schedule 06.10.2011


Ответы (6)


Бесполезно рассматривать HTML5 как единый объект, который браузеры либо «поддерживают», либо «не поддерживают». HTML5 - это:

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

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

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

HTML5 также:

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

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

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

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

person bobince    schedule 12.02.2010

Вы можете попробовать diveintohtml5.ep.io и modernizr.com.

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


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

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

person Seth    schedule 12.02.2010

Если вы используете jQuery, обеспокоены совместимостью, и единственная причина, по которой вы исследуете HTML5, - это использование набора атрибутов data-*, то я бы подумал о том, чтобы вернуться к более поддерживаемому типу документа и использовать jQuery _ 2_, который позволяет связывать произвольные фрагменты данных с узлами 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?', ''));
    }
});

Попробовать!

person Community    schedule 12.02.2010
comment
как это соотносится с данными или интегрируется с ними? - person Lance Pollard; 12.02.2010
comment
Он выполняет примерно ту же цель, что и data-, за исключением использования JavaScript вместо HTML. В демонстрации вы заметите, что результаты prompt () сохраняются как $ ('button # set'). Data ('name'). Это примерно эквивалент ‹button id = set data-name = viatropos› Click me! ‹/Button› - person ; 12.02.2010
comment
Насколько мне известно, он фактически использует атрибуты данных, если они доступны. - person Kzqai; 19.04.2011

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

person DmitryK    schedule 12.02.2010
comment
Окончательный практический набор функций HTML5 во многом будет зависеть от того, что поддерживает Internet Explorer 9. Это, в свою очередь, будет зависеть от того, сколько сайтов уже перешли на HTML5 (например, если все популярные сайты поддерживают видео h5, IE9 тоже должен будет поддерживать его). Итак, чем больше сайтов реализуют HTML5 в кратчайшие сроки, тем лучше в долгосрочной перспективе. wiki.whatwg.org/wiki/What_you_can_do. - person Seth; 12.02.2010
comment
Если бы вам пришлось подождать, пока CSS не будет завершен, вы бы начали использовать его только 2 года назад. HTML5 не станет окончательным, пока не будет двух полных реализаций. А ожидание IE означает, что вы никогда не увидите реализованного HTML5. Итак, используйте части, поддерживаемые современными браузерами HTML5, и позвольте IE постепенно деградировать. Те из нас, кто это делает, прекрасно ладят. В противном случае уйти с дороги еще на 10 лет. - person Rob; 12.02.2010

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

person Bang    schedule 04.08.2011

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

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

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

person Steve    schedule 05.11.2012