2011-11-22 18 views
6

Amigos, me siento como si estuviera cerca, pero sin premio. Aquí está el código que estoy usando para cargar un Fancybox y a través del cual estoy intentando cargar JW Player.Cargando JW Player dentro de FancyBox

<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> 

Por favor perdonen el formato del código, he estado experimentando con muchas opciones diferentes.

JW Player does funcionan fuera de fancybox. ¿Alguna idea o forma alternativa de ver el problema?

Respuesta

5

La devolución de llamada afterLoad no se activa porque no hay imagen o video inherente al complemento de fancybox que tendría que "cargarse". En lugar de:

afterLoad: function() { 

Uso:

afterShow: function() { 

que va a resolver su problema.

Aquí hay un enlace a la documentación de referencia adicional o futuros cambios en la API: http://fancyapps.com/fancybox/

+0

perfecto! ¡Gracias! –