首页 > 解决方案 > 为什么我的代码在文本字段中给出的时间没有重新加载

问题描述

window.onload = function() {
        onPageLoad();
}
var reftime;
function refreshPage(){
        var refreshtime = document.getElementById("r_time").value;
        //var reftime;
        reftime = setInterval(function() {
                window.location.reload(true);
        }, refreshtime*60000);
}

上面的代码是用于重新加载页面的 Js。

<input id='r_time' type='text' name='r_time' value= ''/>
           
<input id='r_btn' type='button' value='Apply' style="font-size:12px;font-family:Helvetica;" onclick='refreshPage();'/>

这是我的代码,它用于重新加载我的页面,当我以分钟为单位给出时间间隔时,它会重新加载一次。但是一旦重新加载,它就不会再次重新加载。

标签: javascripthtmlrefresh

解决方案


问题是在使用 window.location.reload(true) 重新加载窗口后,所有 javascipt 变量和间隔都消失了。因此,一旦您第一次重新加载页面,就没有运行间隔会再次重新加载页面。

要解决此问题,您有几种可能性:

  1. 不要重新加载整个页面。只需重新加载更改的部分页面。这可以通过异步 AJAX 调用从服务器检索要显示的内容来完成
  2. 查看此解决方案以了解如何在重新加载 html 页面后保留变量。重新加载后,您可以检查 window.onload 函数是否应该在指定时间后开始另一个 inverval。

推荐阅读