【问题标题】:How can I leave a link in history by assigning window.location?如何通过分配 window.location 在历史记录中留下链接?
【发布时间】:2012-04-01 11:26:57
【问题描述】:

我正在用 javascript 编写网页。我想将用户重定向到特定页面。

http://examplesite.com/current_page -> http://examplesite.com/final_page

我写到这里

window.location = 'http://examplesite.com/final_page';

但我还想在浏览器会话历史记录中添加 current_page 和 final_page 之间的链接。然后我写

window.location = 'http://examplesite.com/middle_page';
window.location = 'http://examplesite.com/final_page';

我想要浏览器历史记录

/current_page -> /middle_page -> /final_page

然后当用户点击/final_page中的“上一页”按钮时,她会先回到/middle_page。不幸的是,它似乎两次分配给位置不起作用。 /middle_page 不会出现在历史记录中。那么如何在历史记录中添加 middle_page 呢?

谢谢。

【问题讨论】:

    标签: javascript browser browser-history


    【解决方案1】:

    首页:

    window.location = 'http://examplesite.com/middle_page';
    

    中间页:

    window.location = 'http://examplesite.com/final_page';
    

    当您浏览到第一页时,您将重定向到 middle_page,中间页会将您重定向到 final_page。

    【讨论】:

    • 当然可以,但是一旦用户回到中间,她就会被重定向到final_page。我希望他们能够留在 middle_page。
    【解决方案2】:

    在 Firefox 4+ 上,它们有 history.pushState(),您可以在其中向历史记录添加条目。

    您也可以embed iframes 并使用 iframe 将条目添加到历史记录。更改 iframe 的位置将记录在历史记录中。

    您可以使用任何一种技术来弹出该中间页面。但每个人都有自己的怪癖。

    【讨论】:

      猜你喜欢
      • 2023-03-28
      • 2010-11-15
      • 2011-02-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-22
      • 2010-11-02
      • 1970-01-01
      • 2016-05-06
      相关资源
      最近更新 更多