Come ricaricare la pagina ogni 5 secondi?


183

Sto convertendo un layout in HTML; una volta apportato le modifiche a code / html / css, ogni volta che devo premere F5. Esiste una semplice soluzione javascript / jQuery per questo? Cioè dopo aver aggiunto lo script, ricaricare l'intera pagina ogni 5 secondi (o qualche altro tempo specifico).

Risposte:


382
 <meta http-equiv="refresh" content="5; URL=http://www.yourdomain.com/yoursite.html">

Se deve essere nello script, usa setTimeout come:

setTimeout(function(){
   window.location.reload(1);
}, 5000);

4
Penso che questo sia probabilmente un modo migliore per farlo rispetto a JavaScript.
Ricco

1
Se il caso d'uso fosse che la pagina doveva essere aggiornata per i visitatori, allora potrei essere d'accordo, ma per scopi di sviluppo, avere un blocco di codice che puoi rilasciare nella pagina senza dover aggiornare un URI ogni volta è un vantaggio. A seconda di JS non è un problema quando lo sviluppatore è l'intero pubblico di destinazione.
Quentin,

4
location.reload (1) ripeterà un POST se la pagina corrente è il risultato di un POST. Ciò potrebbe non essere desiderabile se stai cercando di replicare il meta refresh in Javascript.
Reuben,

2
Il ricaricamento della pagina corrente non richiede di specificare la pagina, Solo:<meta http-equiv="refresh" content="5">
ashleedawg

146

Per ricaricare la stessa pagina non è necessario il secondo argomento. Puoi semplicemente usare:

 <meta http-equiv="refresh" content="30" />

Ciò innesca una ricarica ogni 30 secondi.


3
È scoraggiato quando utilizzato per il reindirizzamento . Non è deprecato. (Ed è molto utile quando vuoi aggiornare una pagina e sei troppo pigro per imparare ajax :)
DinoCoderSaurus

Questo non funziona per me. Ho provato ad aggiungere questa riga a questo codice senza alcun risultato. codepen.io/css-support/pen/bspdK
lolololol ol

1
@lololololol Devi aggiungerlo nell'impostazione "Stuff for <head>" nell'area Impostazioni penna HTML. Non funziona se lo metti nello script reale.
Bret,

23

Per ricaricare automaticamente e cancellare la cache dopo 3 secondi, puoi farlo facilmente usando la funzione javascript setInterval. Ecco un semplice codice

$(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>

e puoi anche usare meta per questo

<meta http-equiv="Refresh" content="5">

L'aggiornamento della pagina <script> funziona ma puoi spiegare come sta svuotando la cache ?? o sta semplicemente aggiornando la cache .. per favore spiegate.
Argento,

stackoverflow.com/questions/5721704/… , se vuoi appoggiarti di più, ti preghiamo di
cercarlo su


10

Esiste uno strumento di aggiornamento automatico per IE. Si chiama ReloadIt ed è disponibile su http://reloadit.codeplex.com . Gratuito.

Scegli un URL che desideri ricaricare automaticamente e specifica uno o più percorsi di directory per monitorare le modifiche. Premere F12 per iniziare il monitoraggio.

inserisci qui la descrizione dell'immagine

Dopo averlo impostato, minimizzalo. Quindi modifica i tuoi file di contenuti. Quando si salva qualsiasi modifica, la pagina viene ricaricata. come questo:

inserisci qui la descrizione dell'immagine

Semplice. facile.


2
Ottimo strumento per IE, e grazie per la cosa animata. Come posso creare lo stesso?
Wasim Shaikh,

@WasimShaikh - Registra il tuo schermo su una GIF animata usando ScreenToGIF .
ashleedawg,

5

La risposta fornita da @jAndy dovrebbe funzionare ma in Firefox potresti riscontrare problemi, window.location.reload (1) ; potrebbe non funzionare, questa è la mia esperienza personale.

Quindi vorrei suggerire:

setTimeout(function() { window.location=window.location;},5000);

Questo è testato e funziona bene.


3

Un'alternativa decente se stai usando Firefox è il plugin XRefresh . Ricaricherà la tua pagina ogni volta che rileva che il file è stato modificato. Quindi, invece di limitarsi ad aggiornare ogni 5 secondi, si aggiorna solo quando premi Salva nel tuo editor HTML.



2

Se stai sviluppando e testando in Firefox, è disponibile un plug-in chiamato " ReloadEvery ", che ti consente di ricaricare la pagina agli intervalli specificati.


1

Funzionerà per 5 secondi.

5000 millisecondi = 5 secondi

Usalo con target _selfo qualsiasi cosa tu voglia e qualunque pagina tu voglia incluso incluso se stesso:

<script type="text/javascript">
function load()
{
setTimeout("window.open('http://YourPage.com', '_self');", 5000);
}
</script>
<body onload="load()"> 

O questo con auto automatico e nessun codice target con qualsiasi pagina tu voglia, incluso se stesso:

<script type="text/javascript">
function load()
{
setTimeout("location.href = 'http://YourPage.com';", 5000);
}
</script>
<body onload="load()"> 

O questo se è la stessa pagina per ricaricare solo se stesso e il cappello da rimorchio mirato che desideri:

<script type="text/javascript">
function load()
{
setTimeout("window.open(self.location, '_self');", 5000);
}
</script>
<body onload="load()">

Tutti e 3 fanno cose simili, solo in modi diversi.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.