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"
});