我在div内的页面中嵌入了youtube视频,该视频可以隐藏并通过按钮显示(使用jQuery / css)。当我隐藏并显示然后显示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/

最佳答案

建议您将嵌入的对象转换为较新的iframe元素,以嵌入youtube视频。使用此stackoverflow帖子中的代码:
How to pause a YouTube player when hiding 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/

10-05 20:57
查看更多