Question Comment puis-je actualiser une page avec jQuery?


Comment puis-je actualiser une page avec jQuery?


2038
2018-03-23 11:55


origine


Réponses:


Utilisation location.reload():

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

le reload() fonction prend un paramètre facultatif qui peut être réglé sur true pour forcer un rechargement du serveur plutôt que le cache. Le paramètre par défaut est falsePar défaut, la page peut être rechargée à partir du cache du navigateur.


3308
2018-03-23 11:57



Cela devrait fonctionner sur tous les navigateurs même sans jQuery:

location.reload();

407
2018-03-23 11:57



Il y a plusieurs façons illimitées d'actualiser une page avec JavaScript:

  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) 

    Si nous devions retirer le document de    le serveur Web (par exemple, où le contenu du document    changer dynamiquement) nous passerions l'argument comme true.

Vous pouvez continuer la liste en cours de création:

  • window.location = window.location
  • window.self.window.self.window.window.location = window.location
  • ... et autres 534 façons

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



Beaucoup de façons vont fonctionner, je suppose:

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

181
2018-03-23 11:58



Pour recharger une page avec jQuery, faites:

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

L'approche que j'ai utilisée était Ajax jQuery. Je l'ai testé sur Chrome 13. Ensuite, je mets le code dans le gestionnaire qui déclenchera le rechargement. le URL est "", ce qui signifie cette page.


113
2017-09-30 11:00



Si la page en cours a été chargée par une requête POST, vous pouvez utiliser

window.location = window.location.pathname;

au lieu de

window.location.reload();

car window.location.reload() invite à confirmer si appelé sur une page qui a été chargée par une demande POST.


97
2018-06-22 11:58



La question devrait être,

Comment actualiser une page avec JavaScript

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

Vous avez l'embarras du choix.


55
2018-03-23 12:01



Vous voudrez peut-être utiliser

location.reload(forceGet)

forceGet est un booléen et optionnel.

La valeur par défaut est false, ce qui recharge la page à partir du cache.

Définissez ce paramètre sur true si vous souhaitez forcer le navigateur à extraire la page du serveur pour supprimer également le cache.

Ou juste

location.reload()

si vous voulez rapide et facile avec la mise en cache.


47
2017-07-25 14:27



Trois approches avec différents comportements liés au cache:

  • location.reload(true)

    Dans les navigateurs qui implémentent le forcedReload paramètre de location.reload(), recharge en récupérant une nouvelle copie de la page et toutes ses ressources (scripts, feuilles de style, images, etc.). Ne servira pas tout ressources du cache - obtient des copies fraîches du serveur sans envoyer de if-modified-since ou if-none-match en-têtes dans la requête.

    Equivalent à l'utilisateur effectuant un "rechargement dur" dans les navigateurs où c'est possible.

    Notez que passer true à location.reload() est supporté dans Firefox (voir MDN) et Internet Explorer (voir MSDN) mais n'est pas supporté universellement et ne fait pas partie de la spécification W3 HTML 5, ni le brouillon W3 version HTML 5.1, ni la norme de vie HTML WHATWG.

    Dans les navigateurs non compatibles, comme Google Chrome, location.reload(true) se comporte comme location.reload().

  • location.reload() ou location.reload(false)

    Recharge la page, en récupérant une nouvelle copie non-mise en cache de la page HTML elle-même, et en effectuant RFC 7234 demandes de revalidation pour toutes les ressources (comme les scripts) mises en cache par le navigateur, même s'ils sont Frais RFC 7234 permet au navigateur de les servir sans revalidation.

    Exactement comment le navigateur devrait utiliser son cache lors de l'exécution d'un location.reload()l'appel n'est pas spécifié ou documenté pour autant que je sache; J'ai déterminé le comportement ci-dessus par l'expérimentation.

    Ceci est équivalent à l'utilisateur en appuyant simplement sur le bouton "actualiser" dans leur navigateur.

  • location = location (ou infiniment beaucoup d'autres techniques possibles qui impliquent d'assigner à location ou à ses propriétés)

    Ne fonctionne que si l'URL de la page ne contient pas de fragid / hashbang!

    Recharge la page sans réapprovisionnement ni revalidation tout  Frais ressources du cache. Si le code HTML de la page est lui-même récent, cela rechargera la page sans aucune requête HTTP.

    Ceci est équivalent (du point de vue de la mise en cache) à l'ouverture de la page dans un nouvel onglet.

    Toutefois, si l'URL de la page contient un hachage, cela n'aura aucun effet.

    Encore une fois, le comportement de mise en cache ici n'est pas spécifié pour autant que je sache; Je l'ai déterminé en testant.

Donc, en résumé, vous voulez utiliser:

  • location = location pour une utilisation maximale du cache, aussi longtemps que la page n'a pas de hash dans son URL, auquel cas cela ne fonctionnera pas
  • location.reload(true) pour récupérer de nouvelles copies de toutes les ressources sans revalider (bien que ce ne soit pas universellement supporté et ne se comporte pas différemment location.reload() dans certains navigateurs, comme Chrome)
  • location.reload() reproduire fidèlement l'effet de l'utilisateur en cliquant sur le bouton «Actualiser».

28
2017-11-14 11:22



window.location.reload() rechargera le serveur et chargera toutes vos données, scripts, images, etc.

Donc, si vous voulez juste actualiser le HTML, le window.location = document.URL reviendra beaucoup plus vite et avec moins de trafic. Mais il ne rechargera pas la page s'il y a un hash (#) dans l'URL.


20
2017-10-13 20:32