Javascript 删除设置超时时间间隔

Javascript 删除设置超时时间间隔,javascript,dom,setinterval,Javascript,Dom,Setinterval,加载文档后,我想刷新页面一次。所以我写了这段代码。它工作得很好,但它在一次又一次地呼叫。因为我正在刷新同一页。但我想在执行一次后清除间隔 function refreshPage(){ document.location.reload(true); alert('page is refresh.'); } var interval = setTimeout('refreshPage()', 3000); 如果您希望它只工作一次,无论延迟如何,您都可以在localStorage中

加载文档后,我想刷新页面一次。所以我写了这段代码。它工作得很好,但它在一次又一次地呼叫。因为我正在刷新同一页。但我想在执行一次后清除间隔

function refreshPage(){
    document.location.reload(true);
    alert('page is refresh.');
}
var interval = setTimeout('refreshPage()', 3000);

如果您希望它只工作一次,无论延迟如何,您都可以在localStorage中存储您这样做的事实:

    function refreshPage(){
        alert('page will refresh.');
        document.location.reload(true);
        localStorage['refreshDone'] = 'yes';
    }
    if (!localStorage['refreshDone']) {
        setTimeout('refreshPage()', 3000);
    }
但您不能简单地清除超时或间隔,因为每次重新加载页面时窗口变量都会丢失

由于我不确定您的确切目标,如果最近没有刷新,您可能希望刷新,您可以在localStorage中存储时间戳:

    function refreshPage(){
        alert('page will refresh.');
        document.location.reload(true);
        localStorage['refresh'] = new Date().getTime();
    }
    var lastTimeRefresh = parseInt(localStorage['refresh']||'0', 10);
    if (new Date().getTime() - lastTimeRefresh > 30*60*1000) { // 30 minutes
        setTimeout('refreshPage()', 3000);
    }

如果您希望它只工作一次,无论延迟如何,您都可以在localStorage中存储您这样做的事实:

    function refreshPage(){
        alert('page will refresh.');
        document.location.reload(true);
        localStorage['refreshDone'] = 'yes';
    }
    if (!localStorage['refreshDone']) {
        setTimeout('refreshPage()', 3000);
    }
但您不能简单地清除超时或间隔,因为每次重新加载页面时窗口变量都会丢失

由于我不确定您的确切目标,如果最近没有刷新,您可能希望刷新,您可以在localStorage中存储时间戳:

    function refreshPage(){
        alert('page will refresh.');
        document.location.reload(true);
        localStorage['refresh'] = new Date().getTime();
    }
    var lastTimeRefresh = parseInt(localStorage['refresh']||'0', 10);
    if (new Date().getTime() - lastTimeRefresh > 30*60*1000) { // 30 minutes
        setTimeout('refreshPage()', 3000);
    }

您可以在第一次刷新时设置javascript Cookie,然后检查是否设置了Cookie,如果未设置,请设置Cookie并刷新页面,如果不执行任何操作

您可以在第一次刷新时设置javascript Cookie,然后检查是否设置了Cookie,如果未设置,请设置Cookie并刷新页面,如果不执行任何操作

在重新加载时一次调用函数有什么用途。你的目标是什么?有些代码工作不完美。这就是我希望再次刷新的内容,然后它就可以正常工作了。@nareshkumar您应该修复这个问题(在另一个问题中得到我们的帮助),而不是重新加载页面。在重新加载时一次调用函数有什么用。你的目标是什么?有些代码工作不完美。这就是我想要的另一个刷新,那么它工作正常。@nareshkumar您应该解决这个问题(在另一个问题中我们的帮助下),而不是重新加载页面。是的,关键是您不能简单地使用clearInterval或任何窗口变量。但是如果浏览器不支持
localStorage
页面将继续刷新是,关键是不能简单地使用clearInterval或任何窗口变量。但是如果浏览器不支持
localStorage
,页面将继续刷新