Поддерживают ли SVG-документы пользовательские атрибуты данных?
в HTML5 элементы могут иметь произвольные метаданные, хранящиеся в атрибутах XML, имена которых начинаются с data-
например <p data-myid="123456">
. Это тоже часть спецификации SVG?
на практике этот метод отлично работает для SVG docs во многих местах. Но я хотел бы знать, является ли это частью официальной спецификации SVG или нет, потому что формат достаточно молод, что все еще много несовместимости между браузерами, особенно в мобильном телефоне. Поэтому, прежде чем совершить код, я хотел бы знать, могу ли я ожидайте, что будущие браузеры сойдутся на поддержке этого.
4 ответов
хотя другие ответы технически правильны, они опускают тот факт, что SVG предоставляет альтернативный механизм для data-*
. SVG позволяет любой атрибут и тег для включения, если он не конфликтует с существующими (другими словами: вы должны использовать пространства имен).
чтобы использовать этот (эквивалентный) механизм:
- использовать
mydata:id
вместоdata-myid
, например:<p mydata:id="123456">
- убедитесь, что вы определяете пространство имен в открытии SVG бирка, как это:
<svg xmlns:mydata="http://www.myexample.com/whatever">
на data-*
атрибут является частью HTML5. Это не универсальный атрибут XML.
Текущая рекомендация SVG W3C -SVG 1.1 (от 2011-08). Это не позволяет этот атрибут, как вы можете проверить в список атрибутов.
на то же самое на SVG 2 Рабочий проект (от 2012-08). обновление (2015): похоже, что предназначен для поддержки data-*
атрибуты SVG 2 (в настоящее время все еще рабочий проект).
data-*
атрибуты элементов SVG официально поддерживаются в текущем проекте SVG2. См.:
w3c/svgwg
commit1cb4ee9
: добавилSVGElement.dataset
и разрешеноdata-*
атрибуты для всех элементов SVG.- ACTION-3694: добавить" data -* " атрибуты примечания к спецификации. (создано: 15 января 2015 года)
- разрешение: мы зарезервируем атрибуты "data -*" для использования в содержимом SVG. API для их обработки включен Элемент. (из SVG WG Telecon 15-Jan-2015)
- https://lists.w3.org/Archives/Public/www-svg/2014Dec/0022.html
есть более общий механизм.
svg поддерживает desc
элементы, которые могут содержать произвольный XML из других пространств имен. свяжите экземпляры этих элементов или дочерних узлов из собственного пространства имен с помощью зависимых идентификаторов или атрибутов refid.