2010-07-12 41 views
2

我有一個鏈接,當點擊打開一個jQuery UI對話框時,數據通過嵌入式Flash視頻(使用流式播放器)的ajax加載到對話框中。 ie中的問題是,當我點擊鏈接時,對話框打開,視頻開始播放,當我關閉對話框時,視頻仍然繼續播放。如果我再次點擊鏈接,對話框打開,視頻播放,但不是從一開始。在IE中嵌入視頻問題的jQuery UI對話框

主HTML文件具有下面的代碼

<script type="text/javascript"> 
    $(document).ready(function(){ 
     var $dialog = $('<div> </div>'); 
     var dialogOpts = { 
      title: "My Videos", 
      modal: true, 
      autoOpen: false, 
      height: 500, 
      width: 800 
      }; 
     $('.videobox').one('click', function(){ 
      $dialog.load('data.html').dialog(dialogOpts); 

     });    

     $('.videobox').click(function(event){  
      event.preventDefault(); 
      var url = event.target;  

      $dialog.dialog('open'); 
      return false; 
      }); 
    }) 

</script> 

點擊我!

和遠程文件具有以下代碼

<div id="player" style="width:640px;height:360px;"></div> 
<script> 
$f("player", "flowplayer-3.2.2.swf", "004.flv"); 
    </script> 

一切工作在FF,Safari和Chrome罰款,但在IE中的視頻不會停止,並繼續即使在對話框打關閉。我花了很多時間調試,但似乎沒有任何工作。 Cna任何人都可以幫忙!

回答

0

在對話框關閉時,您需要先調用暫停,然後再調用播放器的卸載方法。

喜歡的東西

$f().pause().unload(); 
+1

我嘗試這樣做,但它不工作。我如何解決這個問題是通過銷燬關閉事件的dailog,然後從dom中徹底刪除它。流水遊戲的卸載沒有形成我的工作。 – rkdextreme 2010-10-21 21:22:13

2

這種替換代碼...

<script type="text/javascript"> 
    $(document).ready(function(){ 
     var $dialog = $('<div> </div>'); 
     var dialogOpts = { 
      title: "My Videos", 
      modal: true, 
      autoOpen: false, 
      close: function() { 
     $(this).dialog('destroy').empty(); 
    }, 
      height: 500, 
      width: 800 
      }; 
     $('.videobox').one('click', function(){ 
      $dialog.load('data.html').dialog(dialogOpts); 

     });    

     $('.videobox').click(function(event){  
      event.preventDefault(); 
      var url = event.target;  

      $dialog.dialog('open'); 
      return false; 
      }); 
    }) 

</script>