在用户离开或关闭页面之前保存HTML5视频currentTime
Save HTML5 video currentTime before user leaves or closes page
当用户离开网页时,我想将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。我认为这种方法是完美的。您只需保存当前时间,在用户下次访问时即可获得更新信息。
在后端
如果你真的需要将这些信息保存到你的后端,你可以尝试其他一些方法。
DB轮询
根据您的准确性需要,您可以每10-20秒发送一次ajax请求来更新播放时间。如果只包含视频id和当前时间,则请求太小,不会对性能产生影响。但是,请记住,如果你有很多域cookie,它可能会极大地增加请求的大小,并且你的500字节有效负载可能带有5kB的标头。
相关文章:
- HTML5在画布中加载较小的图像并保存实际大小的图像
- 如何在jquery、javascript、HTML5中以base64字符串保存为(PDF、doc、xls、png.)
- HTML5数据库保存了详细信息以及一个按钮
- 如何将jQuery克隆的文本输入保存到cookie或html5存储中
- 无法使用HTML5 Web存储保存布尔值的解决方法
- 如何保存和加载HTML5画布到&来自localStorage
- 在用户离开或关闭页面之前保存HTML5视频currentTime
- 如何用我在HTML5画布上绘制的src保存图像文件
- 如何使用纯javascript或jQuery将HTML5画布屏幕作为png图像保存到项目的特定文件夹中
- HTML5画布-保存和恢复拖放画布状态
- 如何将html5画布保存到服务器
- 将表数据保存到 HTML5 LocalStorage
- 将图像从 Html5 画布保存到手机存储
- 正在保存HTML5画布数据
- 减缓用户下载/保存html5视频的速度
- 保存HTML5
- 试图保存html5画布,但它是空白的
- 如何在php中保存html5画布图像到数据库
- 如何在android Phonegap的android SD卡上保存HTML5画布图像
- 保存HTML5画布与升级