window.history.back()显示“文档已过期”页面,任何方式?

时间:2013-02-19 19:25:13

标签: javascript django internet-explorer history

客户要求用户在点击结果后返回搜索结果页面。现在这是一个简单的jQuery调用:

$('a.detail-back-button').on('click', function(evt) {
    evt.preventDefault();
    window.history.back();
});

但是,这显示了Firefox中的“文档已过期”页面。我知道这是为了安全,但客户希望无论如何实现这一点。我已经做了一些搜索,我找到了解决这个问题的php解决方案......

session_cache_limiter('private_no_expire')

...但这是一个基于Django的网站。还有其他解决方案吗?

更新02/21/13

下面的解决方案有效但仅适用于非IE的浏览器。 IE8 / 9/10似乎没有重新请求上一页。是否有IE解决方法?

1 个答案:

答案 0 :(得分:5)

这与POST ed请求的非幂等性质有关。即POST是一种具有效果的动作,因此重复是不安全的。为防止意外发生这种情况,某些浏览器会在重新提交原始表单之前显示带有确认消息的占位符页面。

最可靠的解决方案 - 可能是唯一的解决方案 - 是使用GET方法提交您的表单,这无论如何都是有意义的。