【问题标题】:Refreshing a page after certain delay in jquery [duplicate]在jquery中出现一定延迟后刷新页面[重复]
【发布时间】:2014-08-15 13:18:37
【问题描述】:

这是我的问题:我需要显示一段时间的消息,然后重新加载页面。 有人可以告诉我如何在一定的延迟后重新加载页面吗?

【问题讨论】:

    标签: javascript jquery html


    【解决方案1】:

    你甚至不需要 jQuery 或 HTML5:

    setTimeout(location.reload.bind(location), 60000);
    

    这将等待 1 分钟(60,000 毫秒),然后调用 location.reload 函数,这是刷新页面的内置函数。

    【讨论】:

    • 导致“未捕获的类型错误:非法调用”。请参阅 Amin Jafari 的回答,将其包装在匿名函数中并使其成为功能解决方案很容易。
    • 看起来不错,一个不错的解决方案(比匿名函数更严格)。
    【解决方案2】:
    setTimeout(function(){
        window.location.reload(); // you can pass true to reload function to ignore the client cache and reload from the server
    },delayTime); //delayTime should be written in milliseconds e.g. 1000 which equals 1 second
    

    更新:

    使用 ES6 的单行代码:

    setTimeout(() => window.location.reload(), delayTime);
    

    【讨论】:

    • 我不得不使用 window.location.reload();但这正是我想要的,谢谢!
    【解决方案3】:

    你可以试试这个不用js,它会循环:

    <meta http-equiv="refresh" content="5"/> <!-- 5 sec interval-->
    <h1>Page refersh in every 5 seconds...</h1>
    

    您甚至可以导航到不同的页面,访问 google 主页

    <meta http-equiv="refresh" content="5;http://www.google.com"/> <!-- 5 sec delay-->
    <h1>Redirecting in 5 seconds...</h1>
    

    【讨论】:

    • 如果设计是这样的,当用户单击按钮时应该显示一条消息,并且在显示该消息后,应该在 5 秒的延迟内重新加载页面..?这在那种情况下会起作用吗?
    • @RajaprabhuAravindasamy,OP 在他的帖子中没有提到这一点。当然你所说的需要不同的解决方案,可能是window.setTimeout
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-26
    • 2018-01-05
    相关资源
    最近更新 更多