Тег Видео HTML5 без источника?

Там кто-либо - определенное поведение, если я имею ВИДЕО тег HTML5, но не включаю ни атрибута SRC, ни ИСХОДНЫХ тегов в элементе? Это все еще был бы допустимый HTML, и если так, что должно (способный HTML5), браузер делает - игнорируют элемент или дисплей, это - содержание?

5
задан askvictor 22 December 2009 в 05:09
поделиться

2 ответа

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

Из моего прочтения спецификации, кажется, что недействительным является отсутствие атрибута src или элемента source:

Модель содержимого:
. Если элемент имеет атрибут src: прозрачный, но без медиа-элемента потомки.
В противном случае имеют атрибут src: один или несколько исходные элементы, значит, прозрачные, но без медиа-элемента потомки.

Это, по-моему, указывает на то, что у него должен быть либо атрибут src, либо детский элемент . Но и Validator.nu, и W3C Validator, кажется, думают, что это действительный документ:

<!DOCTYPE html>
<title>Video test</title>
<video></video>

Независимо от того, действителен ли он, поведение определяется в алгоритме выбора ресурсов следующим образом:

⌛ Иначе медиа-элемент имеет ни атрибут src, ни источник дочерний элемент: установить сетевое государство на NETWORK_EMPTY, и прервать эти шаги; синхронная секция заканчивается.

Это подразумевает состояние готовности HAVE_NOTHING

HAVE_NOTHING (числовое значение 0)
. Нет информации о средствах массовой информации ресурс доступен. Нет данных для текущая позиция воспроизведения доступно. Медиа-элементы, чей атрибут networkState is NETWORK_EMPTY всегда находятся в Состояние HAVE_NOTHING .

В этом состоянии видео представлено своим постерным кадром , или ничем:

При отсутствии видеоданных (the атрибут readyState элемента либо HAVE_NOTHING , либо HAVE_METADATA, но ни одна из видеоданных не имеет но все-таки были получены), видео элемент представляет собой либо плакат Когда она представлена ничем, это означает, что она выглядит как обычная коробка; как div, которая может быть стилизована, но не имеет собственного отображения, хотя это будет ширина и высота, определяемые ее атрибутами ширина и высота . Например, :

<!DOCTYPE html>
<video width=100 height=100 
       style="border-width: 1px; border-color:black; border-style: solid; 
              background: green">
foobar
</video>

Обратите внимание, что он не отображает свое содержимое в браузерах, поддерживающих тег видео. Содержимое внутри тега видео, кроме элемента источника , предназначено для контента в обратном направлении, отображаемого только старыми браузерами, которые не поддерживают элемент видео:

Содержимое может быть предоставлено внутри элемента :

<!DOCTYPE html>
<video width=100 height=100 
       style="border-width: 1px; border-color:black; border-style: solid; 
              background: green">
foobar
</video>

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

8
ответ дан 14 December 2019 в 13:38
поделиться

Я думаю, что контент был бы отображен, если бы видео не было найдено, а в вашем случае даже не было указано. Но я также предполагаю, что атрибут src является обязательным, чтобы тэг имел смысл, как и img тэг. Так что без него не было бы valid, но по умолчанию можно было бы связать несуществующее видео...

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

-2
ответ дан 14 December 2019 в 13:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: