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 に答える