我想在jsp页面中调用一个javascript,它会触发一个倒数计时器。但是,如果用户刷新页面,我不希望重置计时器 - 它应该从剩余时间继续。我怎样才能做到这一点?
问问题
4155 次
2 回答
2
在您的评论中,您说您想要一个不会在每次加载页面时都重新启动的计时器。这就是我会做的...
假设您的页面被调用timer.jsp
,并且在那里您有一个开始倒计时的脚本。因此,我将执行以下操作...
- 当您
timer.jsp
第一次生成页面时,创建一个session
名为的参数TimerFinish
,其中包含计时器应该完成的日期时间。例如,如果日期时间是01/01/2012 10:00
并且您的计时器是25
分钟,您将存储该值01/01/2012 10:25
。 - 每当用户显示页面时(包括第一个页面加载和每次页面刷新),这个
TimerFinish
值都已经存在。您可以使用它来计算计时器完成之前的时间。将此值计算为TimerFinish - currentDateTime
- 在您的 javascript 中设置计时器以从您在步骤 2 中计算的值开始倒计时。
因此,无论用户做什么(刷新页面等),计时器将始终从剩余时间开始,而不是简单地再次重置为 25 分钟。当timer.jsp
用户重新加载时,您只需从对象中读取现有TimerFinish
值session
并使用它来设置剩余时间的正确值。
于 2012-06-04T13:12:18.650 回答
0
JSP 只是一种创建 HTML 的动态方式。所以,您的问题是“如何在页面加载时调用 javascript?”
答案是。
当浏览器解析页面时,每个脚本都会被执行。尝试这个:
<html>
<head>
<script>alert("from head");<script>
</head>
<body>
<script>alert("from body");<script>
</body>
</html>
您还可以在页面加载完成时运行脚本。很多元素都有onload
事件。例如body
元素。所以,你可以说:
<body onload="alert('body is loaded')">
因此,当身体加载完成时将显示警报。
于 2012-06-04T11:33:31.737 回答