检测用户是否在单击后退按钮时进入页面

时间:2013-10-25 08:28:18

标签: django

在Django视图中,是否可以通过单击浏览器的后退按钮来检测用户是否带到了页面?

2 个答案:

答案 0 :(得分:2)

您还可以在页面中添加无缓存标题,并始终渲染您的网站。

我是通过这样的中间件来实现的:

class MustRevalidate(object):
   def process_response(self, request, response):
     response['Cache-Control'] = 'no-cache, must-revalidate, no-store'
     response['Pragma'] = 'no-cache'
     return response

现在你可以查看你的意见中的某个地方.META ['HTTP_REFERER']。

答案 1 :(得分:1)

您可以在服务器端检查request.META['HTTP_REFERER'],但如果浏览器已经在缓存中有一个页面,则它不会执行完整的GET请求 - 它将从其内部缓存中检索页面。 / p>

检测后退按钮单击的唯一选项是通过JavaScript在客户端。有关如何检测事件然后执行所需处理的一些想法,请参阅this StackOverflow post,例如向服务器端发出Ajax调用。