115

当两者都重定向到新页面时,window.location.assign()和有什么区别?window.location.replace()

4

4 回答 4

137

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

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

于 2010-12-22T03:10:02.667 回答
39

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

于 2010-12-22T03:02:24.137 回答
33

根据 MDN:

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

于 2010-12-22T03:01:53.260 回答
14
  1. 位置分配():

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

    使用方法:传入值。

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

location.assign()

  1. 位置.替换():

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

    使用方法:传入值。

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

位置.replace()

于 2017-08-31T10:30:31.913 回答