JQuery FN для приостановки HTML 5 видео не работает на флэш-резерв - PullRequest
0 голосов
/ 03 мая 2011

У меня есть небольшая функция jQuery .click, которую я собираюсь использовать для пропуска видео HTML5 и запуска слайд-шоу с фотографиями. Вот оно ниже:

$("a.skip").click(function () {
    $("div.vidbox video").hide();                   
    $("div.vidbox div").hide();
    $(".slideshow").fadeIn(1000, function () {setInterval( "slideSwitch()", 5000 )});
    $("div.vidbox video").get(0).pause();
    return false;
});

Для работы со следующей разметкой:

<video width="1000" height="400" preload="auto" controls="controls" poster="a/i/pe_home_poster.jpg" style="display: none;">
    <source src="a/v/pre-launch-welcome-video.mp4" type="video/mp4" />
    <source src="a/v/pre-launch-welcome-video.ogg" type="video/ogg" />
    <object id="flowplayer" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="1000" height="400">
        <param name="movie" value="a/flowplayer/flowplayer-3.2.7-0.swf" /> 
        <param name="flashvars" 
            value='config={"clip":"http://www.clientsite.com/a/v/pre-launch-welcome-video.mp4"}' />                 
        <embed type="application/x-shockwave-flash" width="1000" height="400" 
            src="a/flowplayer/flowplayer-3.2.7-0.swf"
            flashvars='config={"clip":"http://www.clientsite.com/a/v/pre-launch-welcome-video.mp4"}'/>  
    </object>               
</video>

Однако проблема заключается в том, что когда браузер возвращается к проигрывателю на основе флэш-памяти, функция паузы возвращает неопределенное значение и прерывает выполнение сценария.

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

Что я хотел бы от этого уйти, так это то, как я могу сделать строку условной, и / или как определить, какое видео на самом деле воспроизводится, с помощью jQuery. Спасибо всем с комментариями.

1 Ответ

1 голос
/ 03 мая 2011

Вы можете проверить, поддерживает ли браузер видео

var supportsVideo = !!(document.createElement('video').canPlayType);

if (supportsVideo) {
$("div.vidbox video").get(0).pause();
}
...