84

我想知道如何使用 jQuery 刷新/重新加载页面(甚至特定的 div)一次(!)?

理想情况下,在DOM structure可用之后(参见onload事件)并且不会对功能产生负面back button影响bookmark

请注意:replace() 由于第三方限制,不允许使用。

4

14 回答 14

82

好吧,我想我得到了你的要求。尝试这个

if(window.top==window) {
    // You're not in a frame, so you reload the site.
    window.setTimeout('location.reload()', 3000); //Reloads after three seconds
}
else {
    //You're inside a frame, so you stop reloading.
}

如果是一次,那么就做

$('#div-id').triggerevent(function(){
    $('#div-id').html(newContent);
});

如果是定期

function updateDiv(){
    //Get new content through Ajax
    ...
    $('#div-id').html(newContent);
}

setInterval(updateDiv, 5000); // That's five seconds

因此,div #div-id 内容将每五秒刷新一次。比刷新整个页面要好。

于 2010-04-01T00:56:39.340 回答
66

要重新加载,您可以尝试以下操作:

window.location.reload(true);
于 2011-06-03T08:14:21.687 回答
40
window.location.href=window.location.href;
于 2010-04-01T00:53:59.633 回答
5

用这个:

    <script type="text/javascript">
        $(document).ready(function(){

            // Check if the current URL contains '#'
            if(document.URL.indexOf("#")==-1)
            {
                // Set the URL to whatever it was plus "#".
                url = document.URL+"#";
                location = "#";

                //Reload the page
                 location.reload(true);
            }
        });
    </script>

由于这种if情况,页面只会重新加载一次。

于 2013-02-19T08:22:43.777 回答
4
$('#div-id').click(function(){

   location.reload();
        });

这是正确的语法。

$('#div-id').html(newContent); //This doesnt work
于 2012-02-17T11:05:28.320 回答
3

您没有 jQuery 刷新功能,因为这是 JavaScript 基础。

尝试这个:

<body onload="if (location.href.indexOf('reload')==-1) location.replace(location.href+'?reload');">
于 2012-01-22T17:16:32.150 回答
2

利用:

<html>
    <head>
        <title>Reload (Refresh) Page Using Jquery</title>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function () {
                $('#reload').click(function() {
                    window.location.reload();
                });
            });
        </script>
    </head>
    <body>
        <button id="reload" >Reload (Refresh) Page Using</button>
    </body>
</html>
于 2013-05-20T03:46:22.930 回答
1

将此添加到文件顶部,该站点将每 30 秒刷新一次。

<script type="text/javascript">
    window.onload = Refresh;

    function Refresh() {
        setTimeout("refreshPage();", 30000);
    }
    function refreshPage() {
        window.location = location.href;
    }
</script>

另一种是:在head标签中添加

<meta http-equiv="refresh" content="30">
于 2014-05-13T12:39:24.730 回答
1
 - location = location
 - location = location.href
 - location = window.location
 - location = self.location
 - location = window.location.href
 - location = self.location.href
 - location = location['href']
 - location = window['location']
 - location = window['location'].href
 - location = window['location']['href']

为此,您不需要 jQuery。你可以用 JavaScript 做到这一点。

于 2015-09-30T01:11:50.920 回答
0

要使用 javascript 刷新页面,您可以简单地使用:

location.reload();
于 2013-05-17T01:25:00.767 回答
0

尝试这个:

<input type="button" value="Reload" onClick="history.go(0)">
于 2013-10-14T05:55:52.963 回答
0

改用这个

function timedRefresh(timeoutPeriod) {
    setTimeout("location.reload(true);",timeoutPeriod);
}

<a href="javascript:timedRefresh(2000)">image</a>
于 2012-12-17T05:53:50.243 回答
0

试试这个代码:

$('#iframe').attr('src', $('#iframe').attr('src'));
于 2012-10-13T17:12:50.590 回答
0

您可能需要使用this参考并location.reload() 检查它,它会起作用。

this.location.reload();
于 2017-05-15T13:12:14.250 回答