YouTube 和 Fancybox 2

YouTube and Fancybox 2

我可以在我的网站中嵌入和观看我的 YouTube 视频。问题是:当我的视频结束时,会出现一个 YouTube 屏幕,其中有许多其他人的视频可供选择。我希望 Fancybox 弹出窗口在我的视频结束时关闭,这样就不会发生这种情况。我发现了一些关于在 YouTube 视频结束时关闭 Fancybox 弹出窗口的建议,但其中 none 个有效。我想知道这是不是因为它们是为 Fancybox-1 编写的,而我正在使用 Fancybox-2。我插入了下面的代码,但它没有触发。

    <script>
    function onPlayerStateChange(event){
        if (event.data===0){
            $.fancybox.close();
        }
    }
</script>

我通过将 ?rel=0 添加到隐藏所有相关视频的 URL 的末尾来做到这一点(有关 rel param here 的更多信息)

您可以将 ?rel=0 添加到每个视频 URL 中(手动),或者让 fancybox beforeLoad 函数在它打开之前添加它:(示例还将自动播放设置为 1)

beforeLoad: function () {
    var url = $(this.element).attr("href");
    url += '?autoplay=1&rel=0';
    this.href = url;
}

(请注意,此代码会将其添加到所有视频中,如果 ? 已在 URL 中,则此代码将不起作用,因此您可能需要针对您的页面调整代码)