HTML5 видео, возврат к флэш-памяти, если нет файла .ogv - PullRequest
2 голосов
/ 21 января 2011

Как сделать откат на флеш-видеоплеер, если нужного типа файла нет.

Например, этот код:

<video controls width="500">
    <source src="<?= $mov ?>" type="video/mp4" />
    <embed src="http://blip.tv/play/gcMVgcmBAgA%2Em4v" type="application/x-shockwave-flash" width="1024" height="798" allowscriptaccess="always" allowfullscreen="true"></embed>
</video>

Не включает файл .ogv, поэтому в Firefox отображается пустой видеоплеер.

Как я могу использовать Flash Player, даже если в браузере поддерживается тег HTML html5?

Ответы [ 4 ]

4 голосов
/ 21 января 2011

Вы можете использовать JavaScript для его обнаружения:

(function (video) {
    if (!video.canPlayType || !video.canPlayType('video/mp4')) {
        // Flash fallback
    }
}(document.createElement('video')));
1 голос
/ 16 августа 2011

просто добавьте еще один тег источника

<source src="fileName.ogv" type="video/ogv" />

это будет работать ....

1 голос
/ 21 апреля 2011

Вот полный пример использования откатов видеоформатов с окончательным откатом к Flash: http://diveintohtml5.info/video.html#example

1 голос
/ 22 января 2011

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


Если вы все равно не хотите этого делать

Использование Modernizr .

Что такое Модернизр?

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

Вы когда-нибудь хотели делать в своем CSS операторы if для доступности таких интересных функций, как border-radius? Ну, с Modernizr вы можете сделать это! Синтаксис также очень интуитивно понятен:

.multiplebgs div p {
  /* properties for browsers that
     support multiple backgrounds */
}
.no-multiplebgs div p {
  /* optional fallback properties
     for browsers that don't */
}

Modernizr - это небольшая и простая библиотека JavaScript, которая помогает вам использовать преимущества новых веб-технологий (CSS3, HTML 5), сохраняя при этом высокий уровень контроля над старыми браузерами, которые могут еще не поддерживать эти новые технологии.

Modernizr использует функцию обнаружения функций, чтобы проверить текущий браузер на наличие новых функций, таких как rgba (), border-radius, CSS Transitions и многих других. В настоящее время они внедряются во всех браузерах, и с Modernizr вы можете начать использовать их прямо сейчас, с простым способом контролировать запасные варианты для браузеров, которые их еще не поддерживают.

Кроме того, Modernizr создает глобальный объект JavaScript с одноименным названием, который содержит свойства для каждой функции; если браузер его поддерживает, свойство будет оценивать true, а если нет, то будет false.

Наконец, Modernizr также добавляет поддержку стилизации и печати элементов HTML5. Это позволяет вам использовать более семантические, ориентированные на будущее элементы, такие как <section>, <header> и <dialog>, не беспокоясь о том, что они не работают в Internet Explorer.

Что Модернизр не делает

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

Однако, если вас это заинтересует, вы, вероятно, захотите посмотреть здесь: Кросс-браузер HTML5 Polyfills .

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