3

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

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

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

在页面 A 上,我单击链接转到页面 B。页面 B 将简单地将我重定向到页面 C。

问题:点击返回页面 C。我转到页面 B 几秒钟,但随后我被重定向回页面 C

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

我以为我可以使用 Request.UrlReferrer 但这包含页面 A 的 url

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

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

编辑:我只是想到,在访问者重定向到页面 C 的那一刻,可以将页面 B 的浏览器历史记录中的条目替换为页面 A。但我不知道这是否可行和允许.

4

1 回答 1

3

尝试这个

历史.js

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

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

于 2012-09-28T13:14:09.357 回答