2

クライアントが PDF とビデオのリポジトリとして使用している Web サイトがあります。クライアントは、動画をモーダルで開くことを望んでいます。これを行うために、ファンシーボックスを使用しています。IE 7 と IE 8 で問題が発生しています。ユーザーが最初のビデオをクリックすると、問題なく読み込まれます。モーダルを閉じて新しいビデオをクリックすると、最初のビデオがまだ表示された状態でポップアップします。これが私たちのコードです!どんな助けでも感謝します。

/* Video Fancybox */
$(".video").fancybox({
    'transitionIn'          :   'fade',
    'transitionOut'         :   'fade',
    'width'                 :   535,
    'height'                :   400,
    /*'showCloseButton'       :   false,*/
    'scrolling'             :   'no',
    'titleShow'             :   false,
    'type'                  :   'inline',
    'padding'               :   10,
    'onComplete'            :   initVideo,
    'onClosed'              :   killVideo
});
//Global Video variables
var videoPlayerInitialized = false;
var myPlayer;

function initVideo(selectedArray, selectedIndex, selectedOptions)
{

    var item = selectedArray[selectedIndex];
    var videoTitle = $(item).attr('data-video');

    if (videoPlayerInitialized != true){
        myPlayer = _V_("my_video");
        videoPlayerInitialized = true;
        myPlayer.ready(function(){
            playVideo(videoTitle);
        });
    } else {
        playVideo(videoTitle);
    }


}

function playVideo(videoTitle)
{
    myPlayer.src([
        { type: "video/mp4", src: videoTitle + ".mp4" },
        { type: "video/webm", src: videoTitle + ".webm" }
    ]);
    myPlayer.load();
    myPlayer.play();        
}

function killVideo()
{
    //var myPlayer = _V_("my_video");
    myPlayer.pause();
    //myPlayer.src('');
}
4

1 に答える 1

0

あなたの killVideo 関数はビデオを一時停止するだけです。実際には何も削除されません。プレイヤーが重なってロードされないように、古いプレイヤーも破棄する必要があります。または、代わりに 1 つのプレーヤーを使用して、src を交換して最後のプレーヤーを削除し、その場所に新しいプレーヤーをロードすることもできます。

于 2013-06-01T15:28:44.640 に答える