当用户离开网页时,我想将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标头.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。