我正在尝试使用jQuery Countown plugin让我的用户现在已经花了多少时间完成某项任务。
所以我使用以下代码在30分钟后开始倒计时。
<script type="text/javascript">
$(function () {
$('#defaultCountdown').countdown({until: '+30m'});
});
</script>
问题是用户将导航到给定任务的不同页面,如果我只是在所有页面上包含此代码,则每次用户进入新页面时,计时器将从30分钟开始刷新当前的。我是jQuery的新手,所以我想知道是否有办法使这段代码静态,以便在给定的事件(在一个页面中)之后开始,并且当另一个页面上的事件发生时停止?
编辑:我应该提到倒计时仅用于受控环境中的可用性测试,以便应用程序只能在一台计算机上运行。
谢谢!
答案 0 :(得分:2)
客户端解决方案:
不计算相对时间,而是计算绝对时间并将其存储在cookie中
每个页面都可以查找该值并启动计时器。
答案 1 :(得分:1)
除非提供某种同步机制,否则这是不可能的:
通常情况下,在一个标签/窗口中倒计时,然后用新标签打开其他页面。您可以要求用户不要关闭原始窗口。
答案 2 :(得分:1)
我看到三种解决方案:
1)从服务器端给出开始时间
2)使用AJAX加载其他页面,因此页面不会刷新
3)使用框架(最差的选择)。