Wie lade ich die Seite alle 5 Sekunden neu?


183

Ich konvertiere ein Layout in HTML; Sobald ich die Änderungen in Code / HTML / CSS vorgenommen habe, muss ich jedes Mal F5 drücken. Gibt es dafür eine einfache Javascript / jQuery-Lösung? Laden Sie nach dem Hinzufügen des Skripts alle 5 Sekunden (oder zu einem anderen bestimmten Zeitpunkt) die gesamte Seite neu.

Antworten:


382
 <meta http-equiv="refresh" content="5; URL=http://www.yourdomain.com/yoursite.html">

Wenn es im Skript enthalten sein muss, verwenden Sie setTimeout wie folgt :

setTimeout(function(){
   window.location.reload(1);
}, 5000);

4
Ich denke, dies ist wahrscheinlich ein besserer Weg als in Javascript.
Rich

1
Wenn der Anwendungsfall darin bestand, dass die Seite für Besucher aktualisiert werden musste, stimme ich möglicherweise zu, aber für Entwicklungszwecke ist es von Vorteil, einen Codeblock zu haben, den Sie auf der Seite ablegen können, ohne jedes Mal einen URI aktualisieren zu müssen. Abhängig von JS ist dies kein Problem, wenn der Entwickler die gesamte Zielgruppe ist.
Quentin

4
location.reload (1) wiederholt einen POST, wenn die aktuelle Seite das Ergebnis eines POST ist. Dies ist möglicherweise nicht wünschenswert, wenn Sie die Metaaktualisierung in Javascript replizieren möchten.
Reuben

2
<meta http-equiv="refresh" content="5">
Zum erneuten Laden

145

Um dieselbe Seite neu zu laden, benötigen Sie nicht das zweite Argument. Sie können einfach verwenden:

 <meta http-equiv="refresh" content="30" />

Dies löst alle 30 Sekunden ein Nachladen aus.


3
Von der Weiterleitung wird abgeraten . Es ist nicht veraltet. (Und es ist sehr praktisch, wenn Sie eine Seite
aktualisieren

Das funktioniert bei mir nicht. Es wurde versucht, diese Zeile vergeblich zu diesem Codepen hinzuzufügen. codepen.io/css-support/pen/bspdK
lolololol ol

1
@lololololol Sie müssen es in der Einstellung "Stuff for <head>" im Bereich "Pen Settings" des HTML hinzufügen. Es funktioniert nicht, wenn Sie es in das eigentliche Skript einfügen.
Bret

23

Zum automatischen Neuladen und Löschen des Caches nach 3 Sekunden können Sie dies einfach mit der Javascript-Funktion setInterval tun. Hier ist einfacher Code

$(document).ready(function() {
  setInterval(function() {
    cache_clear()
  }, 3000);
});

function cache_clear() {
  window.location.reload(true);
  // window.location.reload(); use this if you do not remove cache
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<p>Auto reload page and clear cache</p>

und Sie können auch Meta dafür verwenden

<meta http-equiv="Refresh" content="5">

Die Seitenaktualisierung <script> funktioniert, aber können Sie erklären, wie der Cache geleert wird? oder es ist nur das Aktualisieren des Cache .. pls erklären.
Silber

stackoverflow.com/questions/5721704/… , wenn Sie mehr lehnen möchten, dann googeln Sie es bitte
Shafiqul Islam


10

Es gibt ein automatisches Tool zum Aktualisieren bei Änderung für den Internet Explorer. Es heißt ReloadIt und ist unter http://reloadit.codeplex.com verfügbar . Frei.

Sie wählen eine URL aus, die Sie automatisch neu laden möchten, und geben einen oder mehrere Verzeichnispfade an, die auf Änderungen überwacht werden sollen. Drücken Sie F12, um die Überwachung zu starten.

Geben Sie hier die Bildbeschreibung ein

Nachdem Sie es eingestellt haben, minimieren Sie es. Bearbeiten Sie dann Ihre Inhaltsdateien. Wenn Sie eine Änderung speichern, wird die Seite neu geladen. so was:

Geben Sie hier die Bildbeschreibung ein

Einfach. einfach.


2
Nettes Tool für IE, und danke für die animierte Sache. Wie kann ich das gleiche erstellen?
Wasim Shaikh

@WasimShaikh - Nehmen Sie Ihren Bildschirm mit ScreenToGIF in einem animierten GIF auf .
Ashleedawg

5

Die von @jAndy bereitgestellte Antwort sollte funktionieren, aber in Firefox kann das Problem auftreten, window.location.reload (1) ; funktioniert vielleicht nicht, das ist meine persönliche Erfahrung.

Also möchte ich vorschlagen:

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

Dies ist getestet und funktioniert gut.


3

Eine gute Alternative, wenn Sie Firefox verwenden, ist das XRefresh-Plugin . Ihre Seite wird jedes Mal neu geladen, wenn festgestellt wird, dass die Datei geändert wurde. Anstatt nur alle 5 Sekunden zu aktualisieren, wird es nur aktualisiert, wenn Sie in Ihrem HTML-Editor auf Speichern klicken.



2

Wenn Sie in Firefox entwickeln und testen, steht ein Plug-In namens " ReloadEvery " zur Verfügung, mit dem Sie die Seite in den angegebenen Intervallen neu laden können.


1

Dies funktioniert in 5 Sekunden.

5000 Millisekunden = 5 Sekunden

Verwenden Sie dies mit Ziel _selfoder was auch immer Sie wollen und welche Seite Sie wollen, einschließlich sich selbst:

<script type="text/javascript">
function load()
{
setTimeout("window.open('http://YourPage.com', '_self');", 5000);
}
</script>
<body onload="load()"> 

Oder dies mit automatischem Selbst und ohne Zielcode mit jeder gewünschten Seite, einschließlich sich selbst:

<script type="text/javascript">
function load()
{
setTimeout("location.href = 'http://YourPage.com';", 5000);
}
</script>
<body onload="load()"> 

Oder dies, wenn es sich um dieselbe Seite handelt, auf der Sie sich nur selbst neu laden und den gewünschten Schlepptau verwenden können:

<script type="text/javascript">
function load()
{
setTimeout("window.open(self.location, '_self');", 5000);
}
</script>
<body onload="load()">

Alle 3 machen ähnliche Dinge, nur auf unterschiedliche Weise.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.