Подтвердить что ты не робот

HTML 5 Совместимость браузера - HTML 5 в старых браузерах?

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

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

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

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

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

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

4b9b3361

Ответ 1

Не рекомендуется рассматривать HTML5 как единый объект, который браузеры "поддерживают" или "не поддерживают". HTML5:

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

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

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

HTML5 также:

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

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

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

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

Ответ 2

Возможно, вы захотите проверить diveintohtml5.ep.io и modernizr.com.

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


Здесь представлена ​​интерактивная диаграмма поддержки функций html: http://a.deveria.com/caniuse/

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

Ответ 3

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

Попробуйте!

Ответ 4

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

Ответ 5

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

Ответ 6

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

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

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