我构建了简单的HTML5视频播放器。我在IE9中没有被解雇的“游戏”事件时遇到了麻烦。看看Fiddle。
播放器在播放前可以看到一个很大的播放按钮,在播放时隐藏,在视频播放时可见。
以下是我正在使用的三位听众。
btn.addEventListener("click", function() {
vid.play();
});
vid.addEventListener("play", function() {
btn.style.display = "none";
alert("'play' event fired");
});
vid.addEventListener("ended", function() {
btn.style.display = "block";
});
在IE9中,播放视频的第二次及以后的“播放”事件都没有被触发。
我猜这是我对“播放”HTML5视频事件或IE9中的某种错误不了解的事情。
非常感谢任何帮助。
答案 0 :(得分:1)
假设::我认为paused事件即使在您的视频结束时也会false
,所以可能会在您的视频结束后尝试明确设置pause
,如下所示:
btn.addEventListener("click", function() {
vid.play();
});
vid.addEventListener("play", function() {
btn.style.display = "none";
alert("'play' event fired");
});
vid.addEventListener("ended", function() {
if( !this.paused ) this.pause();
btn.style.display = "block";
});