【发布时间】:2020-10-09 11:55:37
【问题描述】:
我正在尝试向用户流式传输一些视频,并且我希望他们能够在他们离开网站并再次进入时继续观看视频。
据我所知,将视频时间存储在浏览器的本地存储中并在它们返回时检索它是最好的方法,但在这种情况下,当用户从不同的 PC 或浏览器登录时,视频观看时间会重置。
由于现在在某些浏览器中禁用了同步 Ajax,我也无法在浏览器关闭时将观看时间保存在数据库中(使用 onunload 或 beforeunload 事件)。
我尝试过的另一种方法是,节省用户点击暂停按钮的时间,如下所示:
var video1 = document.getElementById('video1');
function videoPausePlayHandler(e) {
if (e.type == 'pause') {
//saving the watched time in databse using Ajax
}
}
video1.addEventListener('pause', videoPausePlayHandler, false);
但是当用户关闭浏览器窗口或其他任何东西而不是单击暂停按钮时,它再次不起作用。
还有其他方法吗?
【问题讨论】:
-
从用户的角度。提供此类功能的网站(例如 youtube),只需定期将用户信息保存在视频中即可。它会在下一次连接时回滚一点。
-
@JulienMaret 我如何节省时间?在哪里?数据库?
标签: javascript jquery laravel-7