Вопрос

Я смотрю на функцию пользовательских атрибутов html 5 здесь, по этой ссылке http://ejohn.org/blog/html-5-data-attributes/

Это выглядит как идеальная вещь, когда я использую jquery / javascript.

Мой вопрос, поддерживается ли HTML 5 всеми основными браузерами?

пример

<li class="user" data-name="John Resig" data-city="Boston"
     data-lang="js" data-food="Bacon">
  <b>John says:</b> <span>Hello, how are you?</span>
</li>
Это было полезно?

Решение

Различные части HTML5 поддерживаются разными браузерами для различных определений термина "поддерживаемый".

Работают несколько частей прямо сейчас, надежно.Атрибуты data-*, о которых вы спрашиваете в своем вопросе, отлично работают в любом браузере, даже в IE6;однако никто пока не поддерживает забавный метод "dataset" для доступа к ним.Пока вас устраивает просто называть их полным именем attr, вы в ударе.Я использую их для постоянного сохранения состояния в своих веб-приложениях, поскольку это официально одобренный метод для этого.

В Википедии есть хорошее резюме различных уровней поддержки в разных браузерах: http://en.wikipedia.org/wiki/Comparison_of_layout_engines_ (HTML_5)

Другие советы

Части HTML 5 поддерживаются Safari, Firefox и Opera, но они не обязательно включают одни и те же части.

Судя по моему опыту, Firefox лидирует, но пройдут годы, прежде чем большинство браузеров, которыми пользуются пользователи, будут поддерживать его.

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

Воспользуйтесь некоторыми сервисами, такими как http://caniuse.com/

Например, по вашему вопросу - http://caniuse.com/dataset

Как вы можете видеть, все современные браузеры поддерживают это

Также вы можете использовать что-то вроде http://modernizr.com/ в вашем коде (он уже включен в http://html5boilerplate.com/)

PS:просто уведомлен, что этот вопрос слишком старый, но он был связан с каким-то другим вопросом, который я проверял ранее

Нет.

Страница в Википедии "Сравнение движков верстки (HTML 5)" делает хорошую работу по перечислению того, какие движки реализовали какие части HTML5.

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

Полная поддержка HTML 5 - это далековато, НО...

Создание пользовательских атрибутов не является чем-то новым и, скорее всего, будет работать во всех основных браузерах, но протестируйте, чтобы убедиться, что это сработает в вашем случае.

Теперь мы можем использовать HTML 5, просто не весь.Большая часть HTML 5 посвящена формализации текущего способа использования HTML и обеспечению обратной совместимости - так что, если какая-то функция работает в браузерах сейчас, используйте ее.

Почти ни одна веб-технология не полностью поддерживается любым браузером;никаких ошибок, причуд или проблем.

HTML5 рассчитан на обратную совместимость, и он вряд ли сломает ваш сайт (возьмите <input type=url> например - не поддерживающие браузеры показывают обычное текстовое поле, Opera позволяет вам выбрать URL-адрес из истории / закладок).Я бы выбрал такой подход:разрабатывайте, пробуйте в браузерах, которые вам нужно поддерживать - если это сработает, потрясающе.Если нет, то не используйте его.Точно так же, как и с другими спецификациями.

HTML5 еще даже близко не поддерживается полностью ни в одном браузере, а некоторые браузеры (особенно IE) не намерены поддерживать его в настоящее время.

нет, пока нет.подождите, по крайней мере, пока gecko и webkit не поддержат его.

ps:вы могли бы использовать html 5 с атрибутами данных в любом случае, если вам это нужно для целей javascript.или выберите какие-то другие неиспользуемые атрибуты (title, abbr, ... другие?)

По состоянию на 25 августа HTML 5 все еще является рабочим проектом.http://dev.w3.org/html5/spec/Overview.html

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top