【发布时间】:2012-07-26 11:06:30
【问题描述】:
当用户离开网页时,我想将 HTML5 视频的currentTime 的位置保存到数据库中。似乎window.onbeforeunload 不是一种可靠的方法(更不用说它提供了一个不受欢迎的弹出窗口!)。有没有更好的方法来做到这一点?
除了定期将位置保存到服务器之外,我想不出任何办法。但这似乎很浪费资源/带宽。 Netflix 似乎在记住您上次查看的位置方面做得很好。他们如何能够可靠地实现这一目标?可能是低级服务器端 C/C++ 代码?
【问题讨论】:
-
有没有办法绕过数据库?您需要多个站点上的位置还是域 cookie/localStorage 就足够了?如果您真的需要数据库,您可以每 15 秒左右保存一次位置。如果您只是传输一个 id 和时间码,那么有效负载并没有那么大。但是,如果您的域中有大量 cookie(随每个请求一起发送),这可能是一种负担。
-
它在一个网站上,我可以完全控制那里托管的所有视频。没有多站点问题;因此 localStorage/cookie 就足够了。这是出于分析原因(此时人们最有可能从特定视频中跳出......等)。也许我不需要用户离开的确切位置。对足够大的集合进行抽样应该会给我一个粗略的想法。我会尝试每 10-15 秒保存一次,看看后端是如何处理的。请修改上述建议,我将其标记为“已回答”。谢谢。
-
我更新了我的答案。 Cookie 听起来对你来说是一个很好的解决方案。保存当前时间并在后续访问中更新统计数据。您还可以使用谷歌分析来跟踪包含此数据的自定义事件。
标签: javascript html ajax html5-video dom-events