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

时间:2012-09-28 13:02:01

标签: javascript jquery asp.net

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

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

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

在页面A上,我点击链接转到第B页。页面B只会将我重定向到第C页。

问题:点击第C页上的返回。我转到第B页几秒钟,然后我将重定向回到第C页

应该:在页面C上,当我点击后退按钮时,我想转到第A页。

我以为我可以使用Request.UrlReferrer,但这包含第A页的网址

是否有任何跨浏览器解决方案可以让我这样做?

我更喜欢服务器端解决方案,但我也打开了客户端。

编辑:我只是想到,当访问者重定向到第C页时,可以将页面B的浏览器历史记录中的条目替换为第A页。但我不知道是否这是可能的,也是允许的。

1 个答案:

答案 0 :(得分:3)

试试这个

History.js

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

https://github.com/browserstate/history.js