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

IT技术 javascript window.location
2021-03-07 05:37:34

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

4个回答

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

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

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

根据 MDN:

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

  1. location.assign():

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

    使用方法:传入值即可。

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

location.assign()

  1. location.replace():

    如果您不想保留历史记录,它有助于替换路径。一旦您替换其路径,它就不会为您提供历史记录。

    使用方法:传入值即可。

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

location.repalce()