определить, какое событие находится в элементе HTML5 <video> - PullRequest
0 голосов
/ 08 февраля 2012

Как вы можете определить, какое событие доступно в элементе HTML5?Для Exampe это событие «onvolumechange» на устройствах IOS и Android недоступно, но в Firefox и Chrome on Desktop его работа.Как вы можете обнаружить это?Я так пробовал

if("onvolumechange" in document) {
 // DO ...
}

Но это работает только в Firefox.

1 Ответ

2 голосов
/ 08 февраля 2012

Согласно статье, Все, что вам нужно знать о видео и аудио HTML5 , самый простой способ найти поддержку - это:

var video = document.getElementsByTagName('video')[0];
alert(video.canPlayType('video/ogg'));

В статье говорится:

Существует несколько уровней поддержки.Во-первых, элемент video может вообще не поддерживаться.Это касается Opera 10.10 и IE8.В этом случае вы можете просто поместить контент в элемент видео, и он будет визуализирован (в приведенных выше примерах контент просто «видео не поддерживается»).В этом случае больше ничего не нужно делать.

Во-вторых, элемент видео может поддерживаться, но кодеки, которые вы хотите использовать, - нет.Safari не поддерживает Ogg / Theora / Vorbis, в то время как Opera и Firefox не поддерживают MPEG-4 / H.264 / AAC.Чтобы обнаружить это, вы можете либо использовать метод canPlayType () для медиа-элемента, либо у вас может быть прослушиватель события onerror;если не удается воспроизвести видео из-за того, что кодек не поддерживается, возникает событие ошибки.

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

Также обратите внимание, что у W3 есть хорошая страница, которая демонстрирует обнаружение событий и свойств, а также запуск элемента в http://www.w3.org/2010/05/video/mediaevents.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...