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.

Wasim Shaikh
quelle

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);
jAndy
quelle
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.

Iculous loswerden
quelle
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">
Shafiqul Islam
quelle
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.

Cheeso
quelle
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.

NarendraSoni
quelle
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.

Dal Hundal
quelle
3

Alternativ gibt es die Anwendung LiveReload ...

veksen
quelle
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.

Veera
quelle
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.

SeekLoad
quelle
1

function reload() {
  document.location.reload();
}

setTimeout(reload, 5000);

Objekt-Objekt
quelle