分配()和取代()之间的区别

window.location.assign()window.location.replace()都重定向到一个新页面时,它们之间的区别是什么?

85287 次浏览

According to MDN:

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

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

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

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

  1. location.assign():

    通过向路径传递路径来分配路径。即使在分配了路径之后,分配也会给你一个历史记录。

    使用方法: 值应该传递给它。

    Eg: location.assign("http://google.com")

location.assign()

  1. Location.place () :

    如果你不想保留历史,它可以替换路径。它不会给你一个历史,一旦你取代它的路径。

    使用方法: 值应该传递给它。

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

location.repalce()