我知道这个问题已在Stack上被问了两次......但我还是需要帮助。我有2个div,每个包含SWFObjects。这是显示/隐藏我的Divs的jquery:
$(document).ready(function(){
$("#DIV2").hide();
$('#button1').bind('click', function() {
$("#DIV1").hide();
$("#DIV2").show();
});
$('#button2').bind('click', function() {
$("#DIV1").show();
$("#DIV2").hide();
});
});
但我需要DIV2中的视频在隐藏时停止播放,并在您再次显示时从头开始。从我读到的,我需要从DOM中删除它...但我不明白如何重新添加它。我已经看到了分离()的建议;但无法弄清楚我的AppendTo()会去哪里。
任何人都可以帮忙吗?我真的很感激。顺便说一句,这是related post(其中包含指向其他相关帖子的链接)。
提前谢谢!
答案 0 :(得分:5)
感谢您的帮助Ben。在我看到您最近的回复之前,我最终使用了我在similar post的答案中看到的内容,但调整后如下:
// Remove and re-add video
var clone = $("#video").clone(true);
$("#video").remove();
$("#video-holder").html(clone);
这对我来说非常合适。我给了我的swfobject一个ID“视频”,它位于div“视频持有者”中。希望这有助于他人!
答案 1 :(得分:0)
根据我之前的经验,分离包含flash对象的DOM元素很容易导致浏览器崩溃,如果我没记错的话,firefox特别容易受到攻击。
您可以通过执行类似$(“#DIV1 OBJECT”)的删除子元素。删除()然后在需要时再次使用swfobject添加。
或者,您可以使用ExternalInterface尝试通过javascript与Flash对象进行通信。
你不是在说你如何播放视频,但是如果你有自己的自定义播放器,你需要在你的flash文件中添加一些接口才能做到这一点,否则,你正在使用的播放器可能会有一些您可以使用的现有外部接口。