我目前正在设计一个包含主页的系统,该主页显示仅登录他们必须完成的工作的人。我被要求设置此主页以每3分钟刷新一次,这是我使用以下代码完成的:

function startTimer() {
 var now = new Date();
 var minutes = now.getMinutes();
 var seconds = now.getSeconds();
 var secTime = minutes*60*seconds;

 if(secTime % (3*60) == 0){
  var refreshTime = 3*60*1000;

 } else {
  var refreshTime = (secTime % (3*60))  * 1000;
 }
setTimeout('refresh()', refreshTime);}

function refresh() {
 window.location.href = 'myURL';

}

startTimer();


我目前遇到的问题是,当我离开该页面但仍在系统中时,它不断使我返回首页,而我却丢失了正在处理的内容。
对于没有离开网站的人,我是否有办法让他们保持刷新状态,并在有人离开时将其停止?

我对Java语言非常陌生,因此如果我提出很多问题,请耐心等待。
预先感谢您提供的任何帮助。

最佳答案

我假设您在网站的所有页面上都使用共享的javascript文件,这就是为什么计时器将继续在每个页面上运行的原因。您可以通过检查页面网址并将startTimer函数包装在此检查中来确保计时器仅在首页上运行:

if (document.location.href == "http://www.yourhomepage.com"){
    startTimer();
}


http://www.yourhomepage.com替换为您主页上的任何URL。仅当您的页面是单独的html文件时,这才起作用。如果您使用的是不更改文档的hashbang方法,则此方法将无效。

关于javascript - 刷新首页,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27524180/

10-12 04:04