2013-06-19 60 views

回答

2

是的,這是可能的。以fancybox website(提示&技巧第15號)爲例,並根據需要調整它。

首先,你需要(從jQuery和的fancybox JS當然css文件分開)

<script src="http://www.youtube.com/player_api"></script> 

然後建立了onYouTubePlayerAPIReady()功能與的fancybox自定義腳本它裏面加載YouTube播放器API啓動視頻。

function onYouTubePlayerAPIReady() { 
    $(document).ready(function() { 
     $.fancybox({ 
      href: "http://www.youtube.com/embed/L9szn1QQfas?enablejsapi=1&wmode=opaque&autoplay=1", 
      type: "iframe", 
      beforeShow: function() { 
       // Find the iframe ID 
       var id = $.fancybox.inner.find('iframe').attr('id'); 
       // Create video player object and add event listeners 
       var player = new YT.Player(id, { 
        events: { 
         'onStateChange': function (event) { 
          if (event.data === 0) { 
           $.fancybox.close(); 
          } // if 
         } // onStateChange 
        } // events 
       }); // YT.Player 
      } // beforeShow 
     }); // fancybox 
    }); // ready 
} // onYouTubePlayerAPIReady 

JSFIDDLE

+0

我這樣做了,它效果很好,但唯一的問題是它需要很長時間才能加載。你知道有什麼方法可以改善嗎?謝謝 ! –

+0

@ pablito.aven JSFIDDLE演示是否也一樣?嘗試使用它作爲您的基本代碼來測試您自己的視頻 – JFK

+0

jsfiddle加載速度更快,我想這可能是我的網絡中有太多的插件。有什麼方法可以確保此視頻fancybox在其他任何操作完成之前處於打開狀態,然後在播放視頻時加載整個網絡?你能引導我嗎?非常感謝你的朋友。 –