Safari没有正确处理html5视频事件?

问题描述 投票:0回答:1

我正在开发一个项目,该项目使用cookie来保存用户在html5视频上的进度,这样他们就可以在后续访问时从中断的地方继续。

问题是没有一个HTML5视频事件似乎只在Safari上正常启动。所有其他浏览器工作正常。

这是我正在使用的代码:

video.addEventListener('loadedmetadata', function() {
    updateVideoProgress();
    var interval = setInterval(function() {storeVideoProgress()}, 1000);
}, false);

if (video.readyState > 3) {
    updateVideoProgress();
    var interval = setInterval(function() {storeVideoProgress()}, 1000);
}

请注意,我正在收听的是什么事件并不重要。我已经尝试过“loadeddata”,“canplay”,“canplaythrough”等等,而且没有一个是在Safari上启动的。在所有其他浏览器上,所有这些事件都会触发(但取决于事件可能会影响我的代码的功能)。

TL:DR - 有没有人经历过Safari没有触发HTML5视频事件,而所有其他浏览器都处理它们?我该怎么做才能解决这个问题?

javascript html html5 video safari
1个回答
0
投票

canplay事件适用于chrome和firefox。我只是将loadedmetadat视为iOS特定的canplay事件,因为iOS似乎没有单独触发canplay

一旦我在canplay复制了我的loadedmetadata逻辑,视频就可以了。

© www.soinside.com 2019 - 2024. All rights reserved.