如何在JavaScript中5秒后刷新页面一次?

时间:2014-01-20 22:52:47

标签: javascript

有没有人知道如何在JavaScript中5秒后刷新页面一次?

我有以下脚本在5秒后刷新页面:

setTimeout(function () {
    window.location.reload(1);
}, 5000);  // After 5 secs

但不知何故,这是每5秒刷新一次,而不是在第一个5秒后刷新一次。有谁知道如何解决这个问题?

4 个答案:

答案 0 :(得分:2)

我认为更好的解决方案是检查document.referer并与document.location

进行比较
if (document.referrer !== document.location.href) {
    setTimeout(function() {
        document.location.reload()
  }, 5000);
}

您可以在jsfiddle:https://jsfiddle.net/ga0Lrurj/

中尝试此操作

答案 1 :(得分:1)

这是迄今为止最简单,最轻便的解决方案:

setTimeout(function () {
    if(window.location.hash != '#r') {
        window.location.hash = 'r';
        window.location.reload(1);
    }
}, 5000);  // After 5 secs

答案 2 :(得分:0)

您需要一种方法来识别重新加载的页面。最简单的方法(imo)是控制这个服务器端。检查一个get-variable并包含js-code(如果它不存在)。

另外,我看到有人建议使用cookies。我不喜欢使用cookies来做这样的小事。

您可以尝试以下方式:

// Get all get-variables
var queryDict = {}
location.search.substr(1).split("&").forEach(function(item) {queryDict[item.split("=")[0]] = item.split("=")[1]})

// Check if reloaded is set
if (queryDict['reloaded'] == 'undefined') {
    // Check if url contains any get-variables
    if (Object.keys(queryDict).length == 0) {
        var redirect = document.URL + '?reloaded';
    }
    else {
        var redirect = document.URL + '&reloaded';
    }

    // The timeout
    setTimeout(function () {
        window.location = redirect;
    }, 5000);
}

答案 3 :(得分:0)

您需要在执行插入或更新或任何其他任务之后保留此脚本,然后它将在5秒后重新加载您的页面一次。它在上传图片的过程中对我有用,我上传文件后保留了这些脚本,而不是将它保存在window.load或documents.ready中,它的功能就像魅力一样。这是我的剧本。这可以帮助您解决问题

<script type="text/javascript">
$(window).load(function () {
         $('#<%=FileUpload1.ClientID%>').uploadify({
        'swf': 'fy/uploadify.swf',
        'cancelImg': 'fy/uploadify-cancel.png',
        'buttonText': 'Browse Files',
        'uploader': 'Gallery.ashx',
        'folder': 'uploads',
        'fileDesc': 'Image Files',
        'fileExt': '*.jpg;*.jpeg;*.gif;*.png',

        'multi':true,
        'auto': false,

        'formData':{'paid':<%= Request.QueryString["PhotoAlbumID"]  %>},
        'onUploadStart': function (file) {
            $("#<%=FileUpload1.ClientID%>").uploadify("settings", 'Txt', $('#password').val());

            $( document ).ready(function() {


            });  setTimeout(function() { window.location=window.location;},3000);

        }  
         });
});



</script>