Загрузка JW Player внутри FancyBox

Ребята, я чувствую, что я близок, но не приз. Вот код, который я использую для загрузки 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. Любые идеи или альтернативные способы взглянуть на проблему?


person Jonathan Wold    schedule 22.11.2011    source источник


Ответы (1)


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

    afterLoad: function() {

Использовать:

    afterShow: function() {

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

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

person Nick Johnson    schedule 22.11.2011