Javascript 我如何知道用户是否单击了上一页上的后退按钮

Javascript 我如何知道用户是否单击了上一页上的后退按钮,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我有一个页面,它只会根据一些参数将用户重定向到某个页面。因此,此页面将始终重定向访问者 问题是当访问者使用后退按钮到达此页面时。他/她将在他/她刚刚单击backbutton的页面上重定向 上下文:三页:A、B和C 在A页,我点击一个链接进入B页。B页将直接重定向到C页 问题:单击C页上的“上一页”。我转到B页几秒钟,然后被重定向回C页 应该是这样的:在C页上,我想在单击后退按钮时转到A页 我想我可以使用Request.urlReferer,但它包含页面A的url 有没有跨浏览器的解决方案可以让我

我有一个页面,它只会根据一些参数将用户重定向到某个页面。因此,此页面将始终重定向访问者

问题是当访问者使用后退按钮到达此页面时。他/她将在他/她刚刚单击backbutton的页面上重定向

上下文:三页:A、B和C

在A页,我点击一个链接进入B页。B页将直接重定向到C页

问题:单击C页上的“上一页”。我转到B页几秒钟,然后被重定向回C页

应该是这样的:在C页上,我想在单击后退按钮时转到A页

我想我可以使用Request.urlReferer,但它包含页面A的url

有没有跨浏览器的解决方案可以让我这样做

我更喜欢服务器端解决方案,但我对客户端也持开放态度

编辑:我刚想到,当访问者重新进入C页时,可能会将B页浏览器历史记录中的条目替换为A页。但我不知道这是否可能,是否允许。

试试这个

History.js js在所有浏览器中都支持HTML5历史/状态API(pushState、replaceState、onPopState)。包括对数据、标题和状态的持续支持。支持jQuery、MooTools和Prototype。对于HTML5浏览器,这意味着您可以直接修改URL,而无需再使用哈希。对于HTML4浏览器,它将恢复使用旧的onhashchange功能


一个愚蠢的解决方案是设置一个cookie来检查从哪里到达b页。这是我的第一个想法。当用户到达C页时写入cookie,但如果用户在不同的选项卡中处于活动状态。或用户在页面上的其他导航,然后再次到达页面B,他将不会被重定向到正确的页面。还是我误解了你?我们的做法是,在a页上添加一个“后退”按钮,让后退按钮的用户做他们想做的事情。我也做了。只要B从a到达,不是重定向到a。否则重定向到B。我刚刚试过演示。看起来不错:)我会看看我能不能让它在我的环境下工作。我在这里寻找:替换state()方法。但这并不适用于所有浏览器。对于不支持HTML5的浏览器,history.js似乎有一个后备系统。谢谢