【发布时间】:2010-04-05 20:12:59
【问题描述】:
我有一个应用程序,它有一个插页式页面来容纳用户,同时在后台运行密集操作(需要 30 秒到 1 分钟不等)。操作完成后,用户将被重定向到结果页面。
进入结果页面后,典型的用户行为是点击“返回”按钮以对不同的输入集执行操作。但是,后退按钮会将它们带到插页式广告,而不是原始表单。期望的行为是返回到原始表单,完全跳过插页式广告。如果用户从原始表单以外的任何地方转到插页式页面,我希望这是默认行为。
我想我可以通过在我的视图中使用@never_cache 函数装饰器来创建此插页式广告和基于request.META['HTTP_REFERER'] 的逻辑,但是页面不尊重这些。浏览器的后退按钮仍然胜过这种行为。
关于如何解决这个问题的任何想法?
【问题讨论】:
-
如果您在结果页面中添加一个按钮以返回表单怎么办?或者这不会克服用户使用“返回”按钮的冲动吗?
-
它可能不会解决问题,但我喜欢这个想法。 :) 不幸的是,它没有解决如何让 django 关注缓存和后退按钮以及如何为此编写逻辑的主要问题。
-
防止页面被缓存并不意味着它不存在。后退按钮进入历史记录并获取当前页面之前的 URL……在您的情况下,它是插页式广告。因此,您所做的是阻止浏览器缓存页面,因此,当用户按下后退按钮时,它会再次下载而不是从缓存中拉出。
标签: python django caching header interstitial