2011-12-06 11 views
0

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

コード

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

は、任意のアイデアやソリューションのですか?

答えて

0

おかげで、私は実際にそれは私がこの

jQuery.document().ready(function() { 
if (document.location.hash === '#video') { 
jQuery.fancybox.open([{ 
content: jQuery('.video').html(), 
ようfancybox呼んでいた私の部分に大きなへまだったそれを考え出しました210

残りはthatsの何がそれ.htmlを(破壊されているので、重要なイマイチ)が、メッセージのために何でも喜んでその

0

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

私が持っているvimeosのリスナーのために

:トリックを行い

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

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

類似点を見ると、私はこれは動作するはずです、あなたのケースで推測:

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

、インラインフレームを使用している場合は、右形式と構文のためではなく、jQuery.fancybox.close();またはparent.jQuery.fancybox.close();あなたのAPIのドキュメントをチェックし、どのような場合に動作するはずですメッセージの

+0

今固定おかげで、私は実際にそれは私がfancyboxを呼んでいた私の部分 上の巨大なへまだったそれを考え出しましたこのように jQuery.document()。ready(function(){ if(document.location.hash === '#video'){ jQuery.fancybox.open([{ コンテンツ:jQuery( '。video ').html()、 残りの部分は重要ではありません。なぜなら、それが壊れているのは.html()です。 –

+0

あなたはそれを固定してうれしいです。このスレッドが今後誰かに役立つことを願っています。 – JFK

関連する問題