Разница между window.location.assign () и window.location.replace () - PullRequest
88 голосов
/ 22 декабря 2010

В чем разница между window.location.assign() и window.location.replace(), когда оба перенаправляют на новую страницу?

Ответы [ 4 ]

104 голосов
/ 22 декабря 2010

Использование window.location.assign("url") приведет к загрузке нового документа. Использование window.location.replace("url") заменит текущий документ и заменит текущую историю с этим URL, поэтому вы не сможете вернуться к предыдущему загруженному документу.

Ссылка: http://www.exforsys.com/tutorials/javascript/javascript-location-object.html

29 голосов
/ 22 декабря 2010

Согласно MDN:

Отличие от метода assign() состоит в том, что после использования replace() текущая страница не будет сохранена в истории сеансов, что означает, что пользователь не сможет использовать кнопку Назад для перехода к ней.

28 голосов
/ 22 декабря 2010

Разница в том, как обрабатывается история.«Заменить» не даст вам историю, «назначить» будет.

4 голосов
/ 31 августа 2017
  1. location.assign ():

    , чтобы назначить путь маршрута, передавая в него путь. Функция Assign выдаст вам историю даже после того, как путь был назначен.

    Метод использования: значение должно быть передано в него.

    Например: location.assign ("http://google.com")

location.assign()

  1. location.replace ():

    это поможет заменить путь, если вы не хотите хранить историю. он не даст вам историю, как только вы замените его путь.

    Метод использования: значение должно быть передано в него.

    Например: location.replace ("http://google.com")

location.repalce()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...