Comment recharger la page toutes les 5 secondes?

183

Je convertis une mise en page en html; une fois que je modifie le code / html / css, chaque fois que je dois appuyer sur F5. Existe-t-il une solution javascript / jQuery simple pour cela? Ie après avoir ajouté le script, rechargez la page entière toutes les 5 secondes (ou à un autre moment spécifique).

Wasim Shaikh
la source

Réponses:

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

Si cela doit être dans le script, utilisez setTimeout comme:

setTimeout(function(){
   window.location.reload(1);
}, 5000);
jAndy
la source
4
Je pense que c'est probablement une meilleure façon de le faire qu'en javascript.
Riche
1
Si le cas d'utilisation était que la page devait être actualisée pour les visiteurs, je pourrais être d'accord, mais à des fins de développement, avoir un bloc de code que vous pouvez déposer dans la page sans avoir à mettre à jour un URI à chaque fois est un avantage. Dépendre de JS n'est pas un problème lorsque le développeur est l'ensemble du public cible.
Quentin
4
location.reload (1) répétera un POST si la page courante est le résultat d'un POST. Cela peut ne pas être souhaitable si vous souhaitez répliquer la méta-actualisation en Javascript.
Ruben
2
Le rechargement de la page actuelle ne vous oblige pas à spécifier la page, juste:<meta http-equiv="refresh" content="5">
ashleedawg
146

Pour recharger la même page, vous n'avez pas besoin du 2ème argument. Vous pouvez simplement utiliser:

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

Cela déclenche un rechargement toutes les 30 secondes.

Débarrasser Iculous
la source
3
Il est déconseillé lorsqu'il est utilisé pour la redirection . Il n'est pas obsolète. (Et c'est très pratique lorsque vous voulez rafraîchir une page et que vous êtes trop paresseux pour apprendre l'ajax :)
DinoCoderSaurus
Cela ne fonctionne pas pour moi. J'ai essayé d'ajouter cette ligne à ce codepen en vain. codepen.io/css-support/pen/bspdK
lolololol ol
1
@lololololol Vous devez l'ajouter dans le paramètre "Stuff for <head>" dans la zone des paramètres du stylet HTML. Cela ne fonctionne pas si vous le mettez dans le script réel.
Bret
23

Pour recharger automatiquement et vider le cache après 3 secondes, vous pouvez le faire facilement en utilisant la fonction javascript setInterval. Voici un code simple

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

et vous pouvez également utiliser meta pour cela

<meta http-equiv="Refresh" content="5">
Islam Shafiqul
la source
L'actualisation de la page <script> fonctionne mais pouvez-vous expliquer comment il efface le cache? ou il est juste de rafraîchir le cache .. veuillez expliquer.
Argent
stackoverflow.com/questions/5721704/… , si vous voulez vous pencher davantage, veuillez le google
Shafiqul Islam
10

Il existe un outil d'actualisation automatique pour IE. Il s'appelle ReloadIt et est disponible sur http://reloadit.codeplex.com . Libre.

Vous choisissez une URL que vous souhaitez recharger automatiquement et spécifiez un ou plusieurs chemins de répertoire pour surveiller les modifications. Appuyez sur F12 pour démarrer la surveillance.

entrez la description de l'image ici

Après l'avoir défini, réduisez-le. Modifiez ensuite vos fichiers de contenu. Lorsque vous enregistrez une modification, la page est rechargée. comme ça:

entrez la description de l'image ici

Facile. facile.

Cheeso
la source
2
Bel outil pour IE, et merci pour la chose animée. Comment puis-je créer le même?
Wasim Shaikh le
@WasimShaikh - Enregistrez votre écran sur un GIF animé en utilisant ScreenToGIF .
ashleedawg
5

La réponse fournie par @jAndy devrait fonctionner mais dans Firefox, vous pouvez rencontrer un problème, window.location.reload (1) ; pourrait ne pas fonctionner, c'est mon expérience personnelle.

Je voudrais donc suggérer:

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

Ceci est testé et fonctionne très bien.

NarendraSoni
la source
3

Une alternative décente si vous utilisez Firefox est le plugin XRefresh . Il rechargera votre page chaque fois qu'il détectera que le fichier a été modifié. Ainsi, plutôt que de se rafraîchir toutes les 5 secondes, il se rafraîchira simplement lorsque vous appuierez sur Enregistrer dans votre éditeur HTML.

Dal Hundal
la source
3

Alternativement, il y a l'application appelée LiveReload ...

Veksen
la source
2

Si vous développez et testez dans Firefox, un plug-in appelé " ReloadEvery " est disponible, qui vous permet de recharger la page aux intervalles spécifiés.

Veera
la source
1

Cela fonctionnera pendant 5 secondes.

5000 millisecondes = 5 secondes

Utilisez-le avec la cible _selfou ce que vous voulez et quelle que soit la page que vous voulez, y compris elle-même:

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

Ou ceci avec l'auto automatique et aucun code cible avec la page que vous voulez, y compris elle-même:

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

Ou ceci si c'est la même page pour se recharger uniquement et le chapeau de remorquage ciblé que vous voulez:

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

Tous les 3 font des choses similaires, mais de manière différente.

SeekLoad
la source
1

function reload() {
  document.location.reload();
}

setTimeout(reload, 5000);

objet Objet
la source