0

さて、ここで私が抱えている問題があります。brightcoveからのビデオがあり、再生が完了した後にfancybox2.0モーダルウィンドウを閉じるためにAPIからイベントリスナーを追加しています。ただし、fancyboxがdivからコンテンツを複製しているが、javascriptは複製していないため、イベントリスナーがアクティブ化されていないため、偶数リスナーは発生していません。

これがコードです

   <!-- Start Brightcove API -->
   <script language="JavaScript" type="text/javascript" src="http://admin.brightcove.com/js/APIModules_all.js"></script>
   <script type="text/javascript">
       var bcExp;
       var modVP;
       function onTemplateLoaded(experienceID) {
           alert("EVENT: TEMPLATE_LOAD");
           bcExp = brightcove.getExperience(experienceID);
           modVP = bcExp.getModule(APIModules.VIDEO_PLAYER);
           modVP.addEventListener(
           BCMediaEvent.COMPLETE, 
           function(event) {
               alert("EVENT: Close Modal Activated");
               jQuery.fancybox.close(true);
           }
       );
       }

       /*   
       function onTemplateLoaded(experienceID) {
           alert("EVENT: TEMPLATE_LOAD");
           bcExp = brightcove.getExperience(experienceID);
           modVP = bcExp.getModule(APIModules.VIDEO_PLAYER);
           modVP.addEventListener(BCMediaEvent.COMPLETE, closeModal);
       }
       function closeModal(event) {
           alert("EVENT: Close Modal Activated");
           jQuery.fancybox.close(true);
       }
        */
   </script>
   <!-- End Brightcove API -->

アイデアや解決策はありますか?

4

2 に答える 2

0

メッセージをありがとう、しかし私は実際にそれが私がこのようにファンシーボックスと呼んでいた私の側の巨大な間抜けであると理解しました

jQuery.document().ready(function() { 
if (document.location.hash === '#video') { 
jQuery.fancybox.open([{ 
content: jQuery('.video').html(), 

それが.html()を壊しているので、残りは重要ではありませんが、今修正されてうれしいことは何でも

于 2011-12-07T14:53:07.283 に答える
0

私はvimeoでこれを行いましたが、通常、ビデオを実行するためのスクリプトを使用して、別のhtmlページを作成します。次に、iframeモード()を使用してFancyboxでそのページを開きますtype:'iframe'

vimeosのリスナーのために私は持っています:

function endOfVideo() {
  parent.$.fancybox.close();
}

vimeoAPI.api_addEventListener("onFinish","endOfVideo"); 

これでうまくいきます。

類似点を見ると、あなたの場合、これはうまくいくはずです:

modVP.addEventListener(
 BCMediaEvent.COMPLETE, function(){parent.jQuery.fancybox.close();}
);

とにかく、APIのドキュメントで正しい形式と構文を確認してください。ただしjQuery.fancybox.close();parent.jQuery.fancybox.close();iframeを使用している場合は、どのような場合でも機能するはずです。

于 2011-12-06T19:17:20.593 に答える