在IE中嵌入视频问题的jQuery UI对话框

时间:2010-07-12 22:36:48

标签: javascript jquery-ui

我有一个链接,当点击它打开一个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任何人都请帮助!

2 个答案:

答案 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();