Fancybox не отображает видео YouTube с iOS6

Это код, который я использовал за последний год. Он отлично работает!

$("#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

Ответ 1

Чтобы сделать ваши видеоролики YouTube более доступными на разных платформах, вы должны прекратить использовать формат http://www.youtube.com/watch?v=3l8MwU0IjMI (который использует swf-плеер), но вместо этого используйте метод embed (вы можете получить правильный код с youtube, выбрав share)

Итак, вместо этого:

<a class="fancybox" href="#" onclick="location.href='http://www.youtube.com/watch?v=3l8MwU0IjMI'; return false;">open youtube video in fancybox</a>

... сделайте следующее:

<a class="fancybox" href="#" onclick="location.href='http://www.youtube.com/embed/3l8MwU0IjMI?autoplay=1'; return false;">open youtube video in fancybox</a>

Затем измените свой fancybox (v1.3.4) script, чтобы открыть содержимое type до iframe, например

$(".fancybox").fancybox({
 "width": 620, // or whatever
 "height": 420,
 "type": "iframe"
});