我有一个链接,当点击它打开一个jQuery UI对话框时,数据通过ajax加载到对话框中,这是一个嵌入式Flash视频(使用flowplayer)。 ie中的问题是,当我点击链接时,对话框打开,视频开始播放,当我关闭对话框时,视频仍然继续播放。如果我再次单击链接,则会打开对话框并播放视频,但不会从一开始播放。
主html文件包含以下代码
<script type="text/javascript">
$(document).ready(function(){
var $dialog = $('<div> </div>');
var dialogOpts = {
title: "My Videos",
modal: true,
autoOpen: false,
height: 500,
width: 800
};
$('.videobox').one('click', function(){
$dialog.load('data.html').dialog(dialogOpts);
});
$('.videobox').click(function(event){
event.preventDefault();
var url = event.target;
$dialog.dialog('open');
return false;
});
})
</script>
点击我!
并且远程文件具有以下代码
<div id="player" style="width:640px;height:360px;"></div>
<script>
$f("player", "flowplayer-3.2.2.swf", "004.flv");
</script>
在FF,Safari和Chrome中一切正常,但即使在对话框关闭后,视频也不会停止并继续播放。我花了很多时间调试,但似乎没有任何工作。 Cna任何人都请帮助!
答案 0 :(得分:2)
用这个替换代码......
<script type="text/javascript">
$(document).ready(function(){
var $dialog = $('<div> </div>');
var dialogOpts = {
title: "My Videos",
modal: true,
autoOpen: false,
close: function() {
$(this).dialog('destroy').empty();
},
height: 500,
width: 800
};
$('.videobox').one('click', function(){
$dialog.load('data.html').dialog(dialogOpts);
});
$('.videobox').click(function(event){
event.preventDefault();
var url = event.target;
$dialog.dialog('open');
return false;
});
})
</script>
答案 1 :(得分:0)
在关闭对话框时,您需要调用暂停,然后调用播放器的卸载方法。
像
这样的东西$f().pause().unload();