Откройте видео YouTube в Fancybox jQuery

Я могу открыть видео YouTube в fancybox.

У меня есть список ссылок видео YouTube, поскольку исключая:

<a href="http://www.youtube.com/watch?v=PvbqV8W96D0" class="more">Play</a>

и fancybox:

$("a.more").fancybox({
                    'titleShow'     : false,
                    'transitionIn'  : 'elastic',
                    'transitionOut' : 'elastic'
        });

Я не хочу создавать для каждого нового видео, встраивают объект.

Есть ли, некоторые включают, или другой способ сделать это?

34
задан ItsJ0el 18 April 2017 в 10:20
поделиться

3 ответа

ЭТО ПОВРЕЖДЕНО, СМОТРИТЕ ИЗМЕНИТЬ

<script type="text/javascript">
$("a.more").fancybox({
                    'titleShow'     : false,
                    'transitionIn'  : 'elastic',
                    'transitionOut' : 'elastic',
            'href' : this.href.replace(new RegExp("watch\\?v=", "i"), 'v/'),
            'type'      : 'swf',
            'swf'       : {'wmode':'transparent','allowfullscreen':'true'}
        });
</script>

Таким образом, если пользовательский javascript включен, он открывает fancybox с встроенным видео YouTube, если javascript отключен, он открывает страницу видео на YouTube. Если вы хотите, вы можете добавить

target="_blank"

к каждой из ваших ссылок, это не будет проверяться на большинстве типов документов, но откроет ссылку в новом окне, если fancybox не подберет ее.

РЕДАКТИРОВАТЬ

this выше, ссылка неверна, поэтому код не найдет href в this . Вы должны называть это так:

$("a.more").click(function() {
    $.fancybox({
            'padding'       : 0,
            'autoScale'     : false,
            'transitionIn'  : 'none',
            'transitionOut' : 'none',
            'title'         : this.title,
            'width'     : 680,
            'height'        : 495,
            'href'          : this.href.replace(new RegExp("watch\\?v=", "i"), 'v/'),
            'type'          : 'swf',
            'swf'           : {
                 'wmode'        : 'transparent',
                'allowfullscreen'   : 'true'
            }
        });

    return false;
});

как описано на http://fancybox.net/blog # 4, реплицируется выше

35
ответ дан 27 November 2019 в 16:18
поделиться
$("a.more").click(function() {
                 $.fancybox({
                  'padding'             : 0,
                  'autoScale'   : false,
                  'transitionIn'        : 'none',
                  'transitionOut'       : 'none',
                  'title'               : this.title,
                  'width'               : 680,
                  'height'              : 495,
                  'href'                : this.href.replace(new RegExp("watch\\?v=", "i"), 'v/'),
                  'type'                : 'swf',    // <--add a comma here
                  'swf'                 : {'allowfullscreen':'true'} // <-- flashvars here
                  });
                 return false;

            }); 
21
ответ дан 27 November 2019 в 16:18
поделиться

Если вы хотите добавить к нему функцию автовоспроизведения. Просто замените

this.href.replace(new RegExp("watch\\?v=", "i"), 'v/'), 

на

this.href = this.href.replace(new RegExp("watch\\?v=", "i"), 'v/') + '&autoplay=1',

Также вы можете сделать то же самое с vimeo

this.href.replace(new RegExp("([0-9])","i"),'moogaloop.swf?clip_id=$1'),

на

this.href = this.href.replace(new RegExp("([0-9])","i"),'moogaloop.swf?clip_id=$1') + '&autoplay=1',
5
ответ дан 27 November 2019 в 16:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: