Warum überhaupt eine Seite mit Code aktualisieren?
\n\nStellen Sie sich vor: Sie programmieren einen Chat, ein Online-Spiel oder ein Kontaktformular. Der Benutzer hat Daten gesendet – und alles bleibt stehen. Um das Ergebnis zu sehen, muss er F5 drücken oder mit der Maus auf die Browser-Schaltfläche klicken. Unbequem, oder?
\n\nStellen Sie sich nun vor, die Seite aktualisiert sich selbst – sobald die Aktion abgeschlossen ist. Magie? Nein, reines JavaScript und ein paar Zeilen Code. Genau darum geht es heute.
\n\nDas Thema ist auf den ersten Blick einfach, aber selbst erfahrene Entwickler verwechseln manchmal die Methoden location.reload() und window.location.href. Wir werden alle Varianten, Fallstricke und Best Practices durchgehen. Los geht's!
Der Hauptdarsteller: location.reload()
\n\nDie beliebteste und korrekteste Methode, um eine Seite mit JavaScript zu aktualisieren, ist die Methode location.reload(). Sie tut genau das, was auf der Verpackung steht: Sie lädt das aktuelle Dokument neu.
// Die einfachste Variante\nlocation.reload();\n\nEs gibt jedoch eine Nuance. Diese Methode akzeptiert einen optionalen Parameter – einen booleschen Wert forceGet.
- \n
location.reload()– lädt die Seite neu, wobei nach Möglichkeit der Browser-Cache verwendet wird. \n location.reload(true)– erzwingt das Laden vom Server, unter Umgehung des Caches. \n
Der Unterschied ist spürbar, wenn Sie mit dynamischen Daten arbeiten. Wenn Sie garantiert eine aktuelle Version der Seite erhalten möchten, verwenden Sie true.
Vergleich: reload() vs window.location.href
\n\nAuf Stack Overflow wird oft gefragt: "Kann man einfach window.location.href = window.location.href zuweisen?"
Die kurze Antwort: Ja, aber es ist ein Workaround. Die lange Antwort – sehen Sie sich die Tabelle an.
\n\nVergleichstabelle der Methoden zum Neuladen einer Seite
\n\n| Methode | \nVerhalten | \nVerwendet Cache | \nEmpfohlen | \n
|---|---|---|---|
location.reload() | \n Lädt die Seite neu | \nJa (standardmäßig) | \n✅ Ja | \n
location.reload(true) | \n Erzwungenes Neuladen vom Server | \nNein | \n✅ Ja | \n
window.location.href = window.location.href | \n Leitet zur gleichen Seite weiter | \nJa | \n⚠️ Mit Vorsicht | \n
window.location = window.location | \n Gleiches, kürzer | \nJa | \n⚠️ Mit Vorsicht | \n
history.go(0) | \n Wechsel zur aktuellen Seite im Verlauf | \nJa | \n❌ Veraltet | \n
Wie Sie sehen, ist location.reload() die zuverlässigste und vorhersagbarste Methode. Die anderen Varianten können in verschiedenen Browsern instabil funktionieren.
Automatische Aktualisierung in einem festgelegten Intervall
\n\nManchmal muss sich eine Seite automatisch aktualisieren – zum Beispiel zur Anzeige von Wechselkursen oder des Serverstatus. Hier helfen setTimeout oder setInterval.
Aktualisierung 5 Sekunden nach dem Laden
\n\n// 5 Sekunden warten, dann neu laden\nsetTimeout(function() {\n location.reload(true);\n}, 5000);\n\nRegelmäßige Aktualisierung alle 30 Sekunden
\n\n// Seite alle 30 Sekunden aktualisieren\nsetInterval(function() {\n location.reload();\n}, 30000);\n\nWichtig: Verwenden Sie die automatische Aktualisierung nicht übermäßig. Wenn die Seite