【问题标题】:Difference between window.location.assign() and window.location.replace()window.location.assign() 和 window.location.replace() 的区别
【发布时间】:2010-12-22 02:58:53
【问题描述】:

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

【问题讨论】:

  • 为什么没有人解释这与location.href = 有何不同??

标签: javascript window.location


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    不同之处在于历史记录的处理方式。 “替换”不会给你历史,“分配”会。

    【讨论】:

      【解决方案3】:

      According to MDN:

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

      【讨论】:

        【解决方案4】:
        1. location.assign():

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

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

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

        1. location.replace():

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

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

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

        【讨论】:

          猜你喜欢
          • 2011-12-03
          • 1970-01-01
          • 2010-12-24
          • 2020-11-23
          • 1970-01-01
          • 2012-12-02
          • 2023-01-13
          • 2016-05-10
          相关资源
          最近更新 更多