使用 jQuery 刷新(重新加载)页面一次?

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

理想的方式是在 DOM structure可用之后(参考 onload事件) ,不会对 back buttonbookmark功能产生负面影响。

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

411751 次浏览
window.location.href=window.location.href;

Alright, I think I got what you're asking for. Try this

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.
}

If it is once, then just do

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

If it is periodically

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


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

So, every five seconds the div #div-id content will refresh. Better than refreshing the whole page.

To reload, you can try this:

window.location.reload(true);

You don't have a jQuery refresh function, because this is JavaScript basics.

Try this:

<body onload="if (location.href.indexOf('reload')==-1) location.replace(location.href+'?reload');">
$('#div-id').click(function(){


location.reload();
});

This is the correct syntax.

$('#div-id').html(newContent); //This doesnt work

Try this code:

$('#iframe').attr('src', $('#iframe').attr('src'));

Use this instead

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


<a href="javascript:timedRefresh(2000)">image</a>

Use this:

    <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>

Due to the if condition, the page will reload only once.

For refreshing page with javascript, you can simply use:

location.reload();

Use:

<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>

Try this:

<input type="button" value="Reload" onClick="history.go(0)">

Add this to the top of your file and the site will refresh every 30 seconds.

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


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

Another one is: Add in the head tag

<meta http-equiv="refresh" content="30">
 - 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']

You don't need jQuery for this. You can do it with JavaScript.

You may need to use this reference along with location.reload() check this, it will work.

this.location.reload();