Javascript 播放HTML5视频时打开弹出窗口

Javascript 播放HTML5视频时打开弹出窗口,javascript,html,video,popup,popcornjs,Javascript,Html,Video,Popup,Popcornjs,我正在使用popcorn.js提供一些与HTML5视频的交互。当视频播放时,我试图让另一个窗口(带有另一个视频)在某个时间点打开,然后在x秒后关闭。基本上,我正在尝试重新创建这里看到的功能: 我遇到的问题是,我的弹出窗口被Firefox的弹出窗口拦截器阻止。我怎样才能避开这件事?再说一次,我会回头看,因为他们的窗户开得很好,但我不知道他们在做什么 以下是我掌握的一些非常基本的代码: document.addEventListener('DOMContentLoaded', function()

我正在使用popcorn.js提供一些与HTML5视频的交互。当视频播放时,我试图让另一个窗口(带有另一个视频)在某个时间点打开,然后在x秒后关闭。基本上,我正在尝试重新创建这里看到的功能:

我遇到的问题是,我的弹出窗口被Firefox的弹出窗口拦截器阻止。我怎样才能避开这件事?再说一次,我会回头看,因为他们的窗户开得很好,但我不知道他们在做什么

以下是我掌握的一些非常基本的代码:

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 );

任何帮助都将不胜感激。谢谢

您可以在“单击”事件侦听器中打开新窗口,但不能在超时或视频时间更新事件中打开,这正是Popcorn所使用的。但是如果你仔细观察市中心的荒野,当你点击开始按钮时,它会提前打开几个窗口,然后在以后重新使用这些窗口,从而绕过这个问题。所以像这样的事情

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 );

如果打开的窗口指向不同的域,您将遇到问题。

您可以在“单击”事件侦听器中打开新窗口,但不能在超时或视频时间更新事件中打开,这正是Popcorn所使用的。但是如果你仔细观察市中心的荒野,当你点击开始按钮时,它会提前打开几个窗口,然后在以后重新使用这些窗口,从而绕过这个问题。所以像这样的事情

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 );
如果打开的窗口指向其他域,则会遇到问题