Zastanawiam się, jak odświeżyć / przeładować stronę (lub nawet konkretny div) raz (!) Za pomocą jQuery?
Idealnie w sposób tuż po DOM structure
jest dostępny (por onload
event) i nie wpływa negatywnie back button
lub bookmark
funkcjonalność.
Uwaga: replace()
nie jest dozwolone ze względu na ograniczenia stron trzecich.
Odpowiedzi:
W porządku, myślę, że mam to, o co prosisz. Spróbuj tego
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. }
Jeśli tak jest, po prostu zrób
$('#div-id').triggerevent(function(){ $('#div-id').html(newContent); });
Jeśli jest okresowo
function updateDiv(){ //Get new content through Ajax ... $('#div-id').html(newContent); } setInterval(updateDiv, 5000); // That's five seconds
Tak więc co pięć sekund zawartość div # div-id będzie odświeżana. Lepsze niż odświeżanie całej strony.
źródło
Aby przeładować, możesz spróbować tego:
window.location.reload(true);
źródło
window.location.href=window.location.href;
źródło
Użyj tego:
<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>
Ze względu na
if
stan strona załaduje się ponownie tylko raz.źródło
$('#div-id').click(function(){ location.reload(); });
To jest poprawna składnia.
$('#div-id').html(newContent); //This doesnt work
źródło
Nie masz funkcji odświeżania jQuery, ponieważ to są podstawy JavaScript.
Spróbuj tego:
<body onload="if (location.href.indexOf('reload')==-1) location.replace(location.href+'?reload');">
źródło
Posługiwać się:
<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>
źródło
Dodaj to na początku pliku, a witryna będzie odświeżać się co 30 sekund.
<script type="text/javascript"> window.onload = Refresh; function Refresh() { setTimeout("refreshPage();", 30000); } function refreshPage() { window.location = location.href; } </script>
Inna to: Dodaj tag w głowie
<meta http-equiv="refresh" content="30">
źródło
- 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']
Nie potrzebujesz do tego jQuery. Możesz to zrobić za pomocą JavaScript.
źródło
Użyj tego zamiast tego
function timedRefresh(timeoutPeriod) { setTimeout("location.reload(true);",timeoutPeriod); } <a href="javascript:timedRefresh(2000)">image</a>
źródło
Wypróbuj ten kod:
$('#iframe').attr('src', $('#iframe').attr('src'));
źródło
Spróbuj tego:
<input type="button" value="Reload" onClick="history.go(0)">
źródło
Aby odświeżyć stronę za pomocą javascript, możesz po prostu użyć:
location.reload();
źródło
Być może będziesz musiał użyć
this
odniesienia wraz zlocation.reload()
zaznaczeniem, to zadziała.this.location.reload();
źródło