2012-06-20 64 views
1

我使用popcorn.js提供與HTML5視頻的一些互動。在播放視頻時,我試圖讓另一個窗口(用另一個視頻)在某個時間點打開,然後在幾秒鐘後關閉。基本上,我試圖重新創建這裏看到的功能:http://thewildernessdowntown.com打開彈出窗口,同時播放HTML5視頻

我遇到的問題是我的彈出窗口被Firefox的彈出窗口攔截器阻止。我怎樣才能解決這個問題?再次,我會回到http://thewildernessdowntown.com,因爲他們的窗戶開放很好,但我無法弄清楚他們在做什麼。

下面是一些非常基本的代碼,我有:

document.addEventListener('DOMContentLoaded', function() { 

    var $popcorn = Popcorn('#video'); 

    $popcorn.code({ 
     start: 6, 
     end: 12, 
     onStart: function() { 
      window.open('window.html','window','width=400,height=200'); 
     }, 
     onEnd: function() { 
      window.close(); 
     } 
    }); 

}, false); 

任何幫助將不勝感激。謝謝!

回答

1

您可以在「點擊」事件偵聽器內部打開一個新窗口,但不在超時或視頻時間更新事件中,這是Popcorn使用的事件。但是,如果您密切關注The Wilderness Downtown,那麼當您單擊開始按鈕並稍後重新使用這些窗口時,它會提前打開幾個窗口來解決該問題。所以像這樣...

document.getElementById('start-button').addEventListener('click', function() { 

    var $popcorn = Popcorn('#video'), 
     popup = window.open('about:blank','mywindow','width=10,height=10'); 

    $popcorn.code({ 
     start: 6, 
     end: 12, 
     onStart: function() { 
      window.open('window.html','mywindow'); 
      popup.moveTo(400, 400); 
      popup.resizeTo(400,200); 
      popup.focus(); 
     }, 
     onEnd: function() { 
      //window.close(); 
      /* in case you want to re-use this window again later... */ 
      window.open('about:blank','mywindow'); 
      popup.moveTo(0, 0); 
      popup.resizeTo(10, 10); 
     } 
    }); 

    //optionally... 
    $popcorn.play(); 

}, false); 

如果您打開的窗口指向不同的域,您將遇到問題。

相關問題