javascript - 我怎么知道用户是否点击了上一页的后退按钮

标签 javascript jquery asp.net

我有一个页面,它只会根据某些参数将用户重定向到某个页面。所以这个页面总是会重定向访问者。

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

上下文:三页: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 功能。

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

关于javascript - 我怎么知道用户是否点击了上一页的后退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12640561/

相关文章:

jquery - 使用 jquery .serialize() 进行解码

asp.net - Gridview ControlState 非常大,即使禁用 View 状态并且不使用 DataKeyNames

c# - 使用 Web API 的安全实现

javascript - 通过 anchor 隐藏和显示 div 内容

javascript - jQuery Easing 函数在这里不起作用

javascript - 在Jquery中添加动态标题标签

java - 使用cheerio从html中提取csrf值

asp.net - 微软MVC "echo/print/output"等

javascript - JQuery 表单提交时的多个 POST

php - 返回JSON,用Javascript编写