IE9 HTML5视频"播放"事件未在第二场比赛中被解雇

时间:2014-11-25 02:39:42

标签: javascript html5 video

我构建了简单的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中的某种错误不了解的事情。

非常感谢任何帮助。

1 个答案:

答案 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";
});