2012-06-20 2 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); 

У вас возникнут проблемы, если окно, которое вы открываете, указывает на другой домен.