0

ボタンで(jQuery/cssを使用して)隠したり表示したりできるdiv内のページにYouTubeビデオが埋め込まれています。非表示にしてから div を表示すると、ビデオをリロードして最初から開始する必要があります。ビデオの進行状況と同じ位置からの再生を記憶する方法はありますか? または、そのビデオをリロードする必要がない方法はありますか?

div/you-tube ビデオの html5 は次のとおりです。

    <div id="you-tube-div">
       <object width="640" height="390" data="http://www.youtube.com/v/fQ2Lnln2BOk" type="application/x-shockwave-flash">
          <param name="src" value="www.youtube.com/v/fQ2Lnln2BOk"/>
       </object>
    </div>

編集:

ここに私がやろうとしていることを示す小さなjFiddleがあります:

http://jsfiddle.net/ntk3B/

4

2 に答える 2

1

YouTube ビデオを埋め込むために、オブジェクトの埋め込みを新しい iframe 要素に変換することをお勧めします。このスタック オーバーフローの投稿のコードを使用: How to pause a YouTube player when hide the iframe?

//via: https://stackoverflow.com/questions/8667882/how-to-pause-a-youtube-player-when-hiding-the-iframe
function toggleVideo(state) {
    // if state == 'hide', hide. Else: show video
    var div = document.getElementById("you-tube-div");
    var iframe = div.getElementsByTagName("iframe")[0].contentWindow;
    div.style.display = state == 'hide' ? 'none' : '';
    func = state == 'hide' ? 'pauseVideo' : 'playVideo';
    iframe.postMessage('{"event":"command","func":"' + func + '","args":""}', '*');
}

あなたが望むことをするこのフィドルを作成しました: http://jsfiddle.net/RSDxC/2/

于 2013-08-23T19:01:35.093 に答える
1

プロパティ「display」を使用してビデオを非表示にする必要がありますか? プロパティ「visibility」と値「visible」および「hidden」を使用してアイテムの可視性を制御すると、ビデオは一時停止した場所に保持されます。

これは、表示プロパティと可視性プロパティの違いに関するリンクです...

考慮すべき追加事項を次に示します。

  • ビデオを一時停止せず、可視性を非表示に設定した場合、ビデオとオーディオは引き続き再生されます。ただし、youtube JavaScript APIを使用してビデオを制御できます。

  • 可視性を使用すると、ブロック要素は周囲の要素に影響を与え続けますが、それらを見ることができなくなります。そのため、プロパティは単に「可視性」です。

当然のことながら、表示プロパティを使用したい/使用する必要がある場合は、ビデオを非表示にすることを選択したときに、ビデオに関する特定の情報を変数に保存する必要があります (再生中のポイントなど)。ボタンをもう一度クリックしてビデオを表示するときにその値を使用しますが、中断したビデオのポイントから開始します。YouTube API を十分に理解することはお勧めできません。これにより、YouTube 動画を思い通りに操作できるようになります。ご不明な点がございましたらお知らせください。幸運を祈ります。

于 2013-08-23T18:58:24.310 に答える