web-dev-qa-db-fra.com

Différence entre window.location.assign () et window.location.replace ()

Quelle est la différence entre window.location.assign() et window.location.replace(), lorsque les deux redirigent vers une nouvelle page?

89
Bakudan

L'utilisation de window.location.assign("url") ne fera que charger un nouveau document. L'utilisation de window.location.replace("url") remplacera le document actuel et remplacera l'historique actuel par cette URL, ce qui vous évitera de revenir au document précédent chargé.

Référence: http://www.exforsys.com/tutorials/javascript/javascript-location-object.html

107
RedAnthrax

Selon MDN:

La différence avec la méthode assign() est qu'après avoir utilisé replace() la page actuelle ne sera pas enregistrée dans l'historique de la session, ce qui signifie que l'utilisateur ne pourra pas utiliser le bouton Retour pour naviguer vers il.

29
Matt Ball

La différence réside dans la façon dont l'historique est géré. "Remplacer" ne vous donnera pas l'historique, "assigner" le fera.

28
martona
  1. location.assign ():

    pour attribuer le chemin de l'itinéraire en lui passant un chemin. Assign vous donnera un historique même après que le chemin a été attribué.

    Méthode d'utilisation: la valeur doit être passée dedans.

    Par exemple: location.assign (" http://google.com ")

location.assign()

  1. location.replace ():

    cela vous aidera à remplacer le chemin si vous ne souhaitez pas conserver l'historique. il ne vous donnera pas d'histoire une fois que vous aurez remplacé son chemin.

    Méthode d'utilisation: la valeur doit être passée dedans.

    Par exemple: location.replace (" http://google.com ")

location.repalce()

5