1

这是我去年一直在使用的代码。效果很好!

$("#videos a").click(function() {
    if ($(this).hasClass('youtube')) {
        $.fancybox({
            'padding'       : 0,
            'autoScale'     : false,
            'transitionIn'  : 'none',
            'transitionOut' : 'none',
            'title'         : this.title,
            'width'         : $(this).attr('data-width'),
            'height'        : $(this).attr('data-height'),
            'href'          : this.href.replace(new RegExp("watch\\?v=", "i"), 'v/'),
            'type'          : 'swf',
            'swf'           : {
                'wmode'     : 'transparent',
                'allowfullscreen'   : 'true'
            }
        });

        return false;
    }
});

在 iPad 上使用此代码时,将显示视频。如果在 iPad 上看不到视频,您会看到一个带有划掉播放按钮的 YouTube 图标。

自 iOS6 以来,这已停止工作。代码中没有任何变化。相反,您现在会看到一个白色的弹出窗口。有没有人遇到过这个?有人知道原因吗?

我正在使用 Fancybox 1.3.4

4

1 回答 1

9

为了使您的 youtube 视频更易于在不同平台上访问,您应该停止使用格式http://www.youtube.com/watch?v=3l8MwU0IjMI(使用swf播放器),而是使用该embed方法(您可以从 youtube 中选择share选项卡获取正确的代码)

所以,而不是这个:

<a class="fancybox" href="http://www.youtube.com/watch?v=3l8MwU0IjMI">open youtube video in fancybox</a>

... 做这个 :

<a class="fancybox" href="http://www.youtube.com/embed/3l8MwU0IjMI?autoplay=1">open youtube video in fancybox</a>

然后修改你的fancybox(v1.3.4)脚本打开内容typeiframe

$(".fancybox").fancybox({
 "width": 620, // or whatever
 "height": 420,
 "type": "iframe"
});
于 2012-11-13T19:12:36.667 回答