0

我在 jquery 对话框中出现了一个 youtube 视频,所以如果它在对话框窗口关闭时播放,它将继续在幕后播放。

结果我做的是在关闭窗口时销毁它:

    $("#gallery_reel").dialog({
            autoOpen: false,
            width: 540,
            close: function() {
                $(this).dialog('destroy');
            }
    });

但是一旦对话框被破坏,除非我刷新页面,否则它不会再次打开。如何重新打开对话框?

4

3 回答 3

2

我建议只使用关闭功能来停止youtube 视频,但如果你坚持其他,而不是破坏,请尝试以下操作:

非首选(将 html 复制到新清空的对话框中)

$("#gallery_reel").dialog({
    autoOpen: false,
    width: 540,
    close: function() {
        var inrHTML = $(this).html();
        $(this).empty().html(inrHTML);
    }
});

应该是更好的方法(基于大多数“嵌入式 youtube”视频都在 iframe 中的想法,我认为

$("#gallery_reel").dialog({
    autoOpen: false,
    width: 540,
    close: function() {
        $(this).find("iframe").get(0).stopVideo();
    }
});
于 2012-10-23T17:29:18.237 回答
0

要停止 Youtube 视频:

$('#playerID').get(0).stopVideo();

使用 jquery 停止 youtube 视频?

于 2012-10-23T17:26:25.727 回答
0

这是因为当您“销毁”时,您会将映射的 var 从 jQuery 堆栈中弹出。

varname = new $("#gallery_reel").dialog(.....); 

会将它弹回堆栈

这里的问题是您需要销毁还是关闭对话框。

当他们离开页面而不是关闭对话框时正确使用变量和清理可以解决这个问题

于 2012-10-23T17:35:24.663 回答