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