编程语言
首页 > 编程语言> > javascript-在用户离开或关闭页面之前保存HTML5视频currentTime

javascript-在用户离开或关闭页面之前保存HTML5视频currentTime

作者:互联网

当用户离开网页时,我想将HTML5视频的currentTime位置保存到数据库中.似乎window.onbeforeunload不是一种可靠的方法(更不用说它提供了令人讨厌的弹出窗口!).有一个更好的方法吗?

除了定期将位置保存到服务器之外,我别无选择.但这似乎是浪费资源/带宽的明智选择. Netflix在记住您上次查看的位置方面似乎做得很好.他们将如何可靠地实现这一目标?低级服务器端C/C++代码也许吗?

解决方法:

有多种保存此类内容的方法:

本地(对于同一域)

卸载前

如果需要,这使您可以取消卸载事件.但是,弹出窗口是可选的.

卸下

无法取消此事件,但是您仍然可以完全访问所有节点和JavaScript变量.因此,如果不需要取消,则可以进行最后的清理/保存.您可以使用任何喜欢的保存方法,例如document.cookie或window.localStorage.

window.onunload = function () {
    window.localstorage[myVideo.currentTime] = document.getElementById("myVid").currentTime;
}

如果您可以处理以下事实:用户返回您的站点时,您只能处理cookie和localStorage.我认为这种方法将是完美的.您只需保存当前时间,并在用户下次访问时获得更新的信息.

在后端

如果您确实需要将该信息保存到后端,则可以尝试其他一些方法.

数据库轮询

根据您的准确性需求,您可以每10到20秒发送一个ajax请求以更新播放时间.如果仅包含视频ID和当前时间,则请求量很小,因此不会影响性能.但是请记住,如果您有很多域cookie,它可能会极大地增加请求的大小,并且500字节有效负载可能带有5kB标头.

标签:html5,ajax,javascript-events,html5-video,javascript
来源: https://codeday.me/bug/20191101/1980649.html