javascript - whole - reload pagina js




Come posso aggiornare una pagina con jQuery? (15)

Come posso aggiornare una pagina con jQuery?


È il più breve in JavaScript.

location = '';

È possibile utilizzare il metodo JavaScript location.reload() . Questo metodo accetta un parametro booleano. true o false . Se il parametro è true ; la pagina viene sempre ricaricata dal server. Se è false ; che è il default o con il browser dei parametri vuoto ricarica la pagina dalla sua cache.

Con true parametro

<button type="button" onclick="location.reload(true);">Reload page</button>

Con parametro default / false

 <button type="button" onclick="location.reload();">Reload page</button>

Utilizzando jquery

<button id="Reloadpage">Reload page</button>
<script type="text/javascript">
    $('#Reloadpage').click(function() {
        location.reload();
    }); 
</script>

Ecco alcune linee di codice che puoi utilizzare per ricaricare la pagina usando jQuery .

Usa il wrapper jQuery ed estrae l'elemento dom nativo.

Usalo se vuoi solo una sensazione jQuery sul tuo codice e non ti interessa la velocità / le prestazioni del codice.

Scegli tra 1 e 10 che si adattino alle tue esigenze o aggiungine un altro in base al modello e alle risposte precedenti.

<script>
  $(location)[0].reload(); //1
  $(location).get(0).reload(); //2
  $(window)[0].location.reload(); //3
  $(window).get(0).location.reload(); //4
  $(window)[0].$(location)[0].reload(); //5
  $(window).get(0).$(location)[0].reload(); //6
  $(window)[0].$(location).get(0).reload(); //7
  $(window).get(0).$(location).get(0).reload(); //8
  $(location)[0].href = ''; //9
  $(location).get(0).href = ''; //10
  //... and many other more just follow the pattern.
</script>

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

La funzione jQuery Load può anche eseguire un aggiornamento della pagina:

$('body').load('views/file.html', function () {
    $(this).fadeIn(5000);
});

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();

Poiché la domanda è generica, proviamo a riassumere possibili soluzioni per la risposta:

Semplice soluzione JavaScript semplice :

Il modo più semplice è una soluzione a una riga inserita in modo appropriato:

location.reload();

Quante persone mancano qui, perché sperano di ottenere alcuni "punti" è che la funzione reload () stessa offre un parametro booleano come parametro (dettagli: location.reload() ).

Il metodo Location.reload () ricarica la risorsa dall'URL corrente. Il suo parametro univoco opzionale è un booleano, che, quando è vero, fa sì che la pagina venga sempre ricaricata dal server. Se è falso o non specificato, il browser può ricaricare la pagina dalla sua cache.

Questo significa che ci sono due modi:

Soluzione 1: forzare il ricaricamento della pagina corrente dal server

location.reload(true);

Soluzione2: Ricarica dalla cache o dal server (in base al browser e alla configurazione)

location.reload(false);
location.reload();

E se vuoi combinarlo con jQuery ascoltando un evento, ti consiglio di utilizzare il metodo ".on ()" invece di ".click" o altri wrapper di eventi, ad esempio una soluzione più appropriata sarebbe:

$('#reloadIt').on('eventXyZ', function() {
    location.reload(true);
});

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.


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.


Se stai usando jQuery e vuoi aggiornare, prova ad aggiungere jQuery in una funzione javascript:

Volevo nascondere un iframe da una pagina quando facevo clic su oh un h3 , per me funzionava ma non ero in grado di fare clic sull'elemento che mi permetteva di visualizzare l' iframe per cominciare a meno che non avessi aggiornato manualmente il browser ... non ideale .

Ho provato il seguente:

var hide = () => {
    $("#frame").hide();//jQuery
    location.reload(true);//javascript
};

Mescolando Jane javascript con jQuery dovrebbe funzionare.

// code where hide (where location.reload was used)function was integrated, below    
    iFrameInsert = () => {
        var file = `Fe1FVoW0Nt4`;
        $("#frame").html(`<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/${file}\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen></iframe><h3>Close Player</h3>`);
        $("h3").enter code hereclick(hide);
}

// View Player 
$("#id-to-be-clicked").click(iFrameInsert);

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', '');

Un sacco di modi funzionerà, suppongo:

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

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.


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.


Usa location.reload() :

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

La funzione reload() accetta un parametro facoltativo che può essere impostato su true per forzare un ricaricamento dal server piuttosto che dalla cache. Il parametro è impostato su false , quindi per impostazione predefinita la pagina potrebbe ricaricarsi dalla cache del browser.







reload