Загрузка JW Player внутри FancyBox - PullRequest
6 голосов
/ 22 ноября 2011

Люди, я чувствую, что я рядом, но нет приза. Вот код, который я использую для загрузки Fancybox и через который я пытаюсь загрузить JW Player.

<script type="text/javascript">
      jQuery(window).load(function() {
        jQuery("a.fancybox").fancybox({
          'content':'<div id="mediaspace">Test</div>',
            maxWidth    : 800,
            maxHeight   : 600,
            fitToView   : false,
            width       : '70%',
            height      : '70%',
            autoSize    : false,
            closeClick  : false,
            openEffect  : 'none',
            closeEffect : 'none',
            afterLoad: function() {
                jwplayer('mediaspace').setup({
                    'flashplayer': '<?php bloginfo('template_directory'); ?>/lib/jw/player.swf',            
                    'file': 'LtGoBZ4D4_E', 
                    'image': 'http://img.youtube.com/vi/LtGoBZ4D4_E/0.jpg',
                    'provider': 'youtube',
                    'height': 400,
                    'width': 700,
                    'controlbar.position': 'bottom',
                    'youtube.quality': 'highres'
                });
          }
        });
      });
    </script>

Пожалуйста, простите за форматирование кода, я экспериментировал с множеством различных вариантов.

JW Player работает за пределами fancybox. Есть идеи или альтернативные способы взглянуть на проблему?

1 Ответ

5 голосов
/ 22 ноября 2011

Обратный вызов afterLoad не запускается, потому что нет никакого изображения или видео, присущего плагину fancybox, который нужно было бы «загрузить». Вместо:

    afterLoad: function() {

Использование:

    afterShow: function() {

Это решит вашу проблему.

Вот ссылка на документацию для дальнейших ссылок или будущих изменений API: http://fancyapps.com/fancybox/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...