Как проверить поддержку видео html5? - PullRequest
8 голосов
/ 26 августа 2010

Существует ли какой-либо JavaScript или другой способ проверки поддержки видео html5?

Ответы [ 5 ]

15 голосов
/ 26 августа 2010

использование:

<script>
alert(!!document.createElement('video').canPlayType);
</script>

если выдает предупреждение true, это означает, что ваш браузер поддерживает видео тег HTML5

Вот URL для проверки совместимости браузера HTML5 http://www.html5test.com/ Откройте URL в вашем браузере, чтобы проверить, насколько хорошо ваш браузер поддерживает html5

5 голосов
/ 22 августа 2013

Небольшое уточнение ответа Sweets-BlingBling: извините, я пока не могу комментировать: (

var isHTML5Video = (typeof(document.createElement('video').canPlayType) != 'undefined') ? true : false;

или даже проще (спасибо digitalBath - как всегда я не вижу дрова для деревьев :))

var isHTML5Video = (typeof(document.createElement('video').canPlayType) != 'undefined');
4 голосов
/ 26 августа 2010

Посмотрите на Модернизатор: http://www.modernizr.com/

Там вы получаете API так же просто, как и

if (Modernizr.video) {
  // html5 video available
}

Но гораздо больше функций и более подходящих API.

1 голос
/ 26 августа 2010

Один из способов - встроить теги html5, а затем поместить альтернативный просмотрщик видео в теги видео как «запасной вариант».Откат отобразится, если браузер не распознает тег.Он не строго «обнаруживает» поддержку видео html5, но может удовлетворить ваши потребности.

<video src='...'>
    <embed flash player instead>
</video>
0 голосов
/ 27 июля 2018

Я использую небольшой вариант ответа @ sweets-BlingBling:

var hasVideo = !!document.createElement('video').canPlayType &&
               !!document.createElement('video').canPlayType('video/mp4')

Это также проверяет, является ли тип медиа 'video/mp4' действительно воспроизводимым (измените его, если ваше видео имеет другой тип медиа, например 'video/webm' или 'video/ogg'). Метод возвращает пустую строку, если видео определенно не может быть воспроизведено, и 'probably' или 'maybe' (на самом деле оба результата означают yes в большинстве случаев) в противном случае. Мне пришлось добавить это для Chrome 41 (похоже, используется в Google Crawler), который имеет canPlayType, но не может воспроизводить mp4 видео.

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