Frage Wie kann ich eine Seite mit jQuery aktualisieren?


Wie kann ich eine Seite mit jQuery aktualisieren?


2038
2018-03-23 11:55


Ursprung


Antworten:


Benutzen location.reload():

$('#something').click(function() {
    location.reload();
});

Das reload() Funktion verwendet einen optionalen Parameter, auf den eingestellt werden kann true Erzwingen eines Neuladens vom Server statt vom Cache. Der Parameter ist standardmäßig auf false, so dass die Seite standardmäßig aus dem Cache des Browsers neu geladen wird.


3308
2018-03-23 11:57



Dies sollte in allen Browsern auch ohne jQuery funktionieren:

location.reload();

407
2018-03-23 11:57



Es gibt mehrere unbegrenzte Möglichkeiten, eine Seite mit JavaScript zu aktualisieren:

  1. location.reload()
  2. history.go(0)
  3. location.href = location.href
  4. location.href = location.pathname
  5. location.replace(location.pathname)
  6. location.reload(false) 

    Wenn wir das Dokument ausziehen müssten    den Web-Server erneut (z. B. wo der Inhalt des Dokuments ist    dynamisch ändern) würden wir das Argument als übergeben true.

Sie können die Liste als Creative fortsetzen:

  • window.location = window.location
  • window.self.window.self.window.window.location = window.location
  • ... und andere 534 Wege

var methods = [
  "location.reload()",
  "history.go(0)",
  "location.href = location.href",
  "location.href = location.pathname",
  "location.replace(location.pathname)",
  "location.reload(false)"
];

var $body = $("body");
for (var i = 0; i < methods.length; ++i) {
  (function(cMethod) {
    $body.append($("<button>", {
      text: cMethod
    }).on("click", function() {
      eval(cMethod); // don't blame me for using eval
    }));
  })(methods[i]);
}
button {
  background: #2ecc71;
  border: 0;
  color: white;
  font-weight: bold;
  font-family: "Monaco", monospace;
  padding: 10px;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.5s ease;
  margin: 2px;
}
button:hover {
  background: #27ae60;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


337
2018-06-23 09:47



Viele Möglichkeiten werden funktionieren, nehme ich an:

  • window.location.reload();
  • history.go(0);
  • window.location.href=window.location.href;

181
2018-03-23 11:58



Um eine Seite mit jQuery neu zu laden:

$.ajax({
    url: "",
    context: document.body,
    success: function(s,x){
        $(this).html(s);
    }
});

Der Ansatz, den ich hier benutzte, war Ajax jQuery. Ich habe es getestet Chrom 13. Dann lege ich den Code in den Handler, der das Nachladen auslöst. Das URL ist "", was bedeutet diese Seite.


113
2017-09-30 11:00



Wenn die aktuelle Seite durch eine POST-Anfrage geladen wurde, möchten Sie sie möglicherweise verwenden

window.location = window.location.pathname;

Anstatt von

window.location.reload();

weil window.location.reload() wird zur Bestätigung aufgefordert, wenn auf einer Seite aufgerufen wird, die durch eine POST-Anfrage geladen wurde.


97
2018-06-22 11:58



Die Frage sollte sein,

So aktualisieren Sie eine Seite mit JavaScript

window.location.href = window.location.href; //This is a possibility
window.location.reload(); //Another possiblity
history.go(0); //And another

Du hast die Qual der Wahl.


55
2018-03-23 12:01



Sie möchten vielleicht verwenden

location.reload(forceGet)

forceGet ist ein Boolescher und optional.

Der Standardwert ist false, wodurch die Seite erneut aus dem Cache geladen wird.

Setzen Sie diesen Parameter auf "true", wenn Sie den Browser zwingen möchten, die Seite vom Server abzurufen, um den Cache ebenfalls zu entfernen.

Oder nur

location.reload()

wenn Sie schnell und einfach mit Caching möchten.


47
2017-07-25 14:27



Drei Ansätze mit unterschiedlichen Cache-bezogenen Verhaltensweisen:

  • location.reload(true)

    In Browsern, die das implementieren forcedReload Parameter von location.reload(), lädt neu, indem eine neue Kopie der Seite und aller ihrer Ressourcen (Skripte, Stylesheets, Bilder usw.) abgerufen wird. Wird nicht dienen irgendein Ressourcen aus dem Cache - erhält neue Kopien vom Server, ohne sie zu senden if-modified-since oder if-none-match Header in der Anfrage.

    Gleichbedeutend damit, dass der Benutzer in Browsern ein "Hard Reload" durchführt, wo dies möglich ist.

    Beachten Sie das Bestehen true zu location.reload() wird in Firefox unterstützt (siehe MDN) und Internet Explorer (siehe MSDN) wird aber nicht universell unterstützt und gehört nicht dazu die W3 HTML 5 Spezifikation, Noch der W3-Entwurf HTML 5.1 Spezifikation, Noch der WHATWG HTML Living Standard.

    In nicht unterstützenden Browsern wie Google Chrome location.reload(true) verhält sich genauso wie location.reload().

  • location.reload() oder location.reload(false)

    Lädt die Seite neu, ruft eine neue, nicht im Cache gespeicherte Kopie des HTML-Seitencodes ab und führt die Ausführung durch RFC 7234 Revalidierung Anfragen für alle Ressourcen (wie Skripte), die der Browser zwischengespeichert hat, selbst wenn sie es sind frisch sind RFC 7234 erlaubt der Browser, sie ohne Revalidierung zu dienen.

    Genau wie der Browser seinen Cache nutzen soll, wenn er ein location.reload()Anruf ist nicht spezifiziert oder dokumentiert, soweit ich das beurteilen kann; Ich habe das obige Verhalten durch Experimente bestimmt.

    Dies entspricht dem einfachen Drücken der Schaltfläche "Aktualisieren" in ihrem Browser.

  • location = location (oder unendlich viele andere mögliche Techniken, die das Zuweisen umfassen location oder zu seinen Eigenschaften)

    Funktioniert nur, wenn die URL der Seite keinen fragid / hashbang enthält!

    Lädt die Seite neu, ohne sie erneut abzurufen oder zu bestätigen irgendein  frisch Ressourcen aus dem Cache. Wenn der HTML-Code der Seite selbst frisch ist, wird die Seite neu geladen, ohne überhaupt HTTP-Anfragen auszuführen.

    Dies entspricht (aus einer Caching-Perspektive) dem Benutzer, der die Seite in einem neuen Tab öffnet.

    Wenn die URL der Seite jedoch einen Hash enthält, hat dies keine Auswirkungen.

    Auch hier ist das Caching-Verhalten, soweit ich weiß, nicht näher spezifiziert; Ich habe es durch Tests ermittelt.

Zusammenfassend möchten Sie Folgendes verwenden:

  • location = location für maximale Nutzung des Caches, so lange wie Die Seite hat keinen Hash in ihrer URL. In diesem Fall funktioniert das nicht
  • location.reload(true) Abrufen neuer Kopien aller Ressourcen ohne erneute Validierung (obwohl es nicht universell unterstützt wird und sich nicht anders verhält) location.reload() in einigen Browsern wie Chrome)
  • location.reload() um die Wirkung des Benutzers, der auf die Schaltfläche "Aktualisieren" klickt, originalgetreu zu reproduzieren.

28
2017-11-14 11:22