首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用JavaScript在条件下重新加载HTML页面

使用JavaScript在条件下重新加载HTML页面
EN

Stack Overflow用户
提问于 2013-11-26 15:00:36
回答 2查看 2.3K关注 0票数 0

如果某个输入字段(pass_phrase)中的值在一段时间后没有更改,比如2分钟,我需要重新加载HTML页面。我对JS很陌生,下面的代码就是我到目前为止所提供的。但不起作用。如果输入某个值,则该页永远不会重新加载。请帮助指出正确的解决方案或与代码有关的问题。谢谢。

联署材料:

代码语言:javascript
运行
复制
    var v1 = '', v2 = '';           
    function GetMyValues(){        
        setTimeout(function() {
            v1 = document.getElementById('pass_phrase').value;
        }, 1000*60*1);        
        setTimeout(function() {
            v2 = document.getElementById('pass_phrase').value;
        }, 1000*60*2);        
    }  

    if (v1 == v2 && v1 != '') {
       window.location="https://domain-name.com";
    } else {
       setTimeout('GetMyValues()', 1000*60*1);
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-26 15:10:13

您只在页面加载时检查v1v2。需要时(超时后)需要检查它:

代码语言:javascript
运行
复制
var v1 = '', v2 = '';

function GetMyValues() {

    setTimeout(function () {
        v1 = document.getElementById('pass_phrase').value;
    }, 1000 * 60 * 1);

    setTimeout(function () {
        v2 = document.getElementById('pass_phrase').value;
        // Check and reload
        if (v1 == v2 && v1 != '') {
            window.location = "https://domain-name.com";
            // or location.reload(); if it is really a reload of the same page.
        } 
    }, 1000 * 60 * 2);

}

setTimeout(GetMyValues, 1000 * 60 * 1);

虽然这是在3秒后检查的,因为您在1分钟后触发GetMyValues,而不是等待2分钟来比较这2个值。如果要在页面加载2分钟后检查值,则应更改:

代码语言:javascript
运行
复制
setTimeout(GetMyValues, 1000 * 60 * 1);

只想:

代码语言:javascript
运行
复制
getMyValues();
票数 0
EN

Stack Overflow用户

发布于 2013-11-26 15:05:26

我相信你可以用它来重新载入你的网页:

代码语言:javascript
运行
复制
location.reload(); 

查看文档。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20220577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档