我知道有一些方法可以判断用户是否使用 Javascript 按下了后退按钮,但是有没有办法在不诉诸 Javascript 的情况下进行判断?是否有可能只涉及查看引用 URL 的解决方案?
问问题
648 次
2 回答
4
没有 javascript 没有。
问题是后退按钮并不能保证您获得服务器命中。它可以缓存页面客户端,即使它确实命中了服务器(加载页面),那么它也会从最初的命中获得请求,而不是来自你刚刚所在的页面。后退按钮不会向请求添加“推荐”信息。它只是回到您所做的最后一件事,而没有发送您刚才所在位置的详细信息。
你需要处理这个客户端。
于 2011-03-19T05:31:33.120 回答
1
是的,有可能。这有两个部分 -
- 每个 URL 都应该有一个唯一的令牌。在服务器端,您跟踪当前和过去的令牌。当请求出现时,如果令牌与过去的令牌匹配,则点击后退按钮。如果等于当前令牌,则正常处理请求。否则请求失败。
- 现在,页面可能已被缓存,您的服务器可能看不到请求。所以你必须采取措施打败浏览器缓存。设置以下 http 标头应强制浏览器发出请求 -
Cache-Control : no-Cache
Pragma : No-Cache
Expires : Thu, 01 Jan 1970 00:00:00 GMT
因为它是可能的并不意味着你应该使用它。Backbutton 是 web 的一项基本技术,打破它的可用性很差。
于 2011-03-19T06:50:22.963 回答