Разница между window.location.assign () и window.location.replace ()

103

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

Бакудан
источник

Ответы:

128

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

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

Красный
источник
36

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

Мартона
источник
31

Согласно MDN:

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

Мэтт Болл
источник
10
  1. location.assign ():

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

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

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

location.assign ()

  1. location.replace ():

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

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

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

location.repalce ()

Мохидин бин Мохаммед
источник