javascript location reload - Come posso aggiornare una pagina con jQuery?



11 Answers

Questo dovrebbe funzionare su tutti i browser anche senza jQuery:

location.reload();
(); example js

Come posso aggiornare una pagina con jQuery?




Un sacco di modi funzionerà, suppongo:

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



Se la pagina corrente è stata caricata da una richiesta POST, è possibile che si desideri utilizzare

window.location = window.location.pathname;

invece di

window.location.reload();

perché window.location.reload() chiederà conferma se viene chiamato su una pagina che è stata caricata da una richiesta POST.




Potresti volerlo usare

location.reload(forceGet)

forceGet è un booleano e facoltativo.

L'impostazione predefinita è false che ricarica la pagina dalla cache.

Impostare questo parametro su true se si desidera forzare il browser ad ottenere la pagina dal server per eliminare anche la cache.

O semplicemente

location.reload()

se vuoi veloce e facile con il caching.




window.location.reload() si ricaricherà dal server e caricherà nuovamente tutti i dati, script, immagini, ecc.

Quindi, se vuoi semplicemente aggiornare l'HTML, window.location = document.URL tornerà molto più veloce e con meno traffico. Ma non ricaricherà la pagina se c'è un hash (#) nell'URL.




Ecco una soluzione che ricarica in modo asincrono una pagina usando jQuery. Evita lo sfarfallio causato da window.location = window.location . Questo esempio mostra una pagina che si ricarica continuamente, come in una dashboard. È testato in battaglia e funziona su una TV con display informativo a Times Square.

<!DOCTYPE html>
<html lang="en">
  <head>
    ...
    <meta http-equiv="refresh" content="300">
    <script src="//ajax.googleapis.com/ajax/libs/jquery/2.2.3/jquery.min.js"></script>
    <script>
    function refresh() {
      $.ajax({
        url: "",
        dataType: "text",
        success: function(html) {
          $('#fu').replaceWith($.parseHTML(html));
          setTimeout(refresh,2000);
        }
      });
    }
    refresh();
    </script>
  </head>
  <body>
    <div id="fu">
      ...
    </div>
  </body>
</html>

Gli appunti:

  • Usando $.ajax direttamente come $.get('',function(data){$(document.body).html(data)}) fa sì che i file css / js vengano cancellati dalla cache , anche se si utilizza la cache: true , è per questo che usiamo parseHTML
  • parseHTML NON troverà un tag del body modo che tutto il tuo corpo abbia bisogno di andare in un div extra, spero che questa pepita di conoscenza ti aiuti un giorno, puoi indovinare come abbiamo scelto l'id per quel div
  • Usa http-equiv="refresh" nel caso in cui qualcosa vada storto con javascript / hiccup del server, quindi la pagina sarà ANCORA ricaricata senza che tu riceva una telefonata
  • Questo approccio probabilmente perde la memoria in qualche modo, l'aggiornamento http-equiv risolve il problema



ho trovato

window.location.href = "";

o

window.location.href = null;

rende anche una pagina di aggiornamento.

Questo rende molto più facile ricaricare la pagina rimuovendo qualsiasi hash. Questo è molto bello quando utilizzo AngularJS nel simulatore iOS, in modo da non dover eseguire nuovamente l'app.




Non hai bisogno di nulla da jQuery, per ricaricare una pagina usando puro JavaScript , basta usare la funzione di ricarica sulla proprietà posizione come questa:

window.location.reload();

Per impostazione predefinita, questo ricaricherà la pagina utilizzando la cache del browser (se esiste) ...

Se ti piacerebbe fare forza ricaricare la pagina, basta passare un valore reale per ricaricare il metodo come di seguito ...

window.location.reload(true);

Inoltre, se sei già in ambito finestra , puoi sbarazzarti della finestra e fare:

location.reload();



Tutte le risposte qui sono buone. Poiché la domanda specifica di ricaricare la pagina con jquery , ho solo pensato di aggiungere qualcosa in più ai futuri lettori.

jQuery è una libreria JavaScript multipiattaforma progettata per semplificare lo scripting lato client di HTML.

~ Wikipedia ~

Quindi capirai che la base di jquery o jquery è basata su javascript . Quindi andare con javascript puro è molto meglio quando si tratta di cose semplici.

Ma se hai bisogno di una soluzione jquery , eccone una.

$(location).attr('href', '');



Semplice soluzione Javascript:

 location = location; 

<button onClick="location = location;">Reload</button>




È il più breve in JavaScript.

location = '';



Related