可能重复:
How to call a javascript function once on page load, page reloads, don't call it again
我想在jsp页面中调用javascript,触发倒数计时器。但是,如果用户刷新页面,我不希望重置计时器 - 它应该从剩余时间开始继续。我怎样才能做到这一点?
答案 0 :(得分:2)
在您的评论中,您说您希望每次加载页面时都不会重新启动计时器。这就是我要做的......
假设您的页面被称为timer.jsp
,并且在那里您有一个开始倒计时的脚本。因此,我会做以下事情......
timer.jsp
页面时,请创建一个名为session
的{{1}}参数,其中包含计时器完成的日期时间。例如,如果日期时间为TimerFinish
而您的计时器为01/01/2012 10:00
分钟,则会存储值25
。01/01/2012 10:25
值都将存在。您可以使用它来计算计时器应该完成的时间。将此值计算为TimerFinish
因此,无论用户做什么(刷新页面等),计时器将始终从剩余时间开始,而不是简单地再次重置为25分钟。当用户重新加载TimerFinish - currentDateTime
时,您只需读取timer.jsp
对象中的现有TimerFinish
值,然后使用该值设置剩余时间的正确值。
答案 1 :(得分: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')">
因此,当身体加载完成时,将显示警报。