我正在使用popcorn.js提供与HTML5视频的一些互动。当视频正在播放时,我正试图让另一个窗口(带有另一个视频)在某个时间点打开然后关闭x秒。基本上,我正在尝试重新创建此处显示的功能:http://thewildernessdowntown.com
我遇到的问题是我的弹出窗口被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 );
非常感谢任何帮助。谢谢!
答案 0 :(得分:1)
您可以在“click”事件侦听器中打开一个新窗口,但不能在超时或视频timeupdate事件中打开,这是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 );
如果您打开的窗口指向其他域,则会遇到问题。