HTML5 видео тег + флэш видео: как изменить приоритет - PullRequest
2 голосов
/ 06 июля 2010

Я играю с html5 видео, потому что неплохо иметь запасной вариант для iphone / ipad. Видео html5 сначала проверяет элементы <source>, если форматы не поддерживаются, оно возвращается к любому контенту, предоставленному внутри тега <video> (например, flash).

Я бы хотел изменить поведение, чтобы сэкономить пропускную способность: используйте флэш-память по умолчанию, если она недоступна, используйте html5-видео.

Есть ли любой способ получить это поведение без использования JavaScript? (тогда решение становится совершенно очевидным).

лучший, Ханси, -

p.s. я попытался повернуть элементы "наизнанку" (<object><video/></object> вместо <video><object/></video>, но в результате видео отображалось дважды)

p.p.s. мое текущее решение

if( navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"] ){ ... }
else{ ... }

, который является неоптимальным, потому что он работает для iphone / ipad, но приводит к большому беспорядку при использовании старых браузеров без установленной вспышки.

1 Ответ

2 голосов
/ 07 июля 2010

спасибо "Зак на длиннохвостом" !, это сработало!

для справки, вот как получить поведение «сначала флэш, затем html5»:

<object type="application/x-shockwave-flash" width="..." height="..." data="...">
    <param name="movie" value="..." />
    <video width="..." height="...">
        <source src="..." type="video/mp4" />
        <source src="..." type="video/webm" />
        <source src="..." type="video/ogg" />
    </video>
</object>

Для предоставления html5-альтернатив встраиванию youtube / vimeo: Пожалуйстаобратите внимание, что наличие атрибута <object data="..." /> имеет решающее значение и отсутствует в коде встраивания youtube / vimeo / etc.предоставлять.Обязательно измените это, просто добавив тег <video/> в код, который вы скопировали и вставили, вы получите именно ту головную боль, которая у меня была.

...