Diferença entre window.location.assign () e window.location.replace ()

102

Qual é a diferença entre window.location.assign()e window.location.replace(), quando ambos redirecionam para uma nova página?

Bakudan
fonte

Respostas:

36

A diferença é como a história é tratada. "Substituir" não fornecerá histórico, "atribuir".

martona
fonte
31

De acordo com MDN:

A diferença do assign()método é que após usar replace()a página atual não será salvo no histórico da sessão, o que significa que o usuário não poderá usar o botão Voltar para navegar até ela.

Matt Ball
fonte
10
  1. location.assign ():

    Para atribuir o caminho da rota passando o caminho para ele. Assign lhe dará um histórico mesmo depois que o caminho foi atribuído.

    Método de uso: o valor deve ser passado para ele.

    Por exemplo: location.assign("http://google.com")

location.assign ()

  1. location.replace ():

    Ajuda a substituir o caminho se você não quiser manter o histórico. Não lhe dará um histórico depois de substituir seu caminho.

    Método de uso: o valor deve ser passado para ele.

    Por exemplo: location.replace("http://google.com")

location.repalce ()

Mohideen bin Mohammed
fonte