我有一个页面,它只会根据某些参数将用户重定向到某个页面。所以这个页面总是会重定向访问者。
问题出在访问者使用后退按钮到达此页面时。他/她将被重定向到他/她刚刚单击后退按钮的页面。
上下文:三页:A、B和C
在页面 A 上,我单击一个链接转到页面 B。页面 B 只会将我重定向到页面 C。
问题:在页面 C 上单击返回。我转到页面 B 几秒钟,但随后我被重定向回页面 C
理应如此:在页面 C 上,我想在单击后退按钮时转到页面 A。
我以为我可以使用 Request.UrlReferrer 但它包含页面 A 的 url
是否有任何跨浏览器解决方案可以让我这样做?
我更喜欢服务器端解决方案,但我也对客户端开放。
编辑:我刚刚想到,当访问者重定向到页面 C 时,可以用页面 A 替换页面 B 的浏览器历史记录中的条目。但我不知道这是否是可能和允许。
最佳答案
试试这个
历史.js
History.js 优雅地支持所有浏览器中的 HTML5 历史/状态 API(pushState、replaceState、onPopState)。包括继续支持数据、标题、replaceState。支持 jQuery、MooTools 和原型(prototype)。对于 HTML5 浏览器,这意味着您可以直接修改 URL,而无需再使用哈希。对于 HTML4 浏览器,它将恢复使用旧的 onhashchange 功能。
关于javascript - 我怎么知道用户是否点击了上一页的后退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12640561/