window.location.assign()和window.location.replace()之间的区别

时间:2010-12-22 02:58:53

标签: javascript window.location

window.location.assign()window.location.replace()重定向到新页面时有什么区别?

4 个答案:

答案 0 :(得分:104)

使用window.location.assign("url")只会导致加载新文档。使用window.location.replace("url")将替换当前文档,并将当前历史记录替换为该URL,以便您无法返回上一个加载的文档。

参考:http://www.exforsys.com/tutorials/javascript/javascript-location-object.html

答案 1 :(得分:29)

According to MDN:

  

assign()方法的不同之处在于,使用replace()后,当前页面将不会保存在会话历史记录中,这意味着用户将无法使用“后退”按钮导航到该页面

答案 2 :(得分:28)

区别在于如何处理历史。 “替换”不会给你历史,“分配”会。

答案 3 :(得分:3)

  1. <强> location.assign():

    通过将路径传递给它来分配路径路径。即使在分配路径后,分配也会为您提供历史记录。

    使用方法:值应传入其中。

    例如: location.assign(“http://google.com”)

  2. location.assign()

    1. <强> location.replace():

      如果您不想保留历史记录,将有助于替换路径。一旦你更换它的路径,它就不会给你一个历史。

      使用方法:值应传入其中。

      例如: location.replace(“http://google.com”)

    2. location.repalce()