【问题标题】:Hack IE 8 back button / force resend?破解 IE 8 后退按钮/强制重新发送?
【发布时间】:2011-06-28 15:44:51
【问题描述】:

当我使用 IE 8 返回时出现错误

"网页已过期 最可能的原因: •此网页的本地副本已过期, 该网站要求您 重新下载。 你可以尝试什么: 单击工具栏上的刷新按钮以重新加载页面。后 令人耳目一新,您可能需要导航 再次访问特定网页,或 重新输入信息。”

这是绝对正确的,因为我们不允许缓存我们的网站。 在 ff 中我们收到一条消息:

要显示此页面,Firefox 必须 发送将重复任何信息的信息 操作(例如搜索或订单 确认)已执行 早一点。

[重新发送] - [取消]

重新发送会导致我们整洁的错误页面指出不允许此类重新发送。 此页面未在 IE8 中显示,因为我猜 IE 8 不够智能,无法重新发送这些表单。有解决方法吗? 即使是禁用 IE 8 后退按钮的 hack 也会受到欢迎

【问题讨论】:

标签: javascript internet-explorer-8 cache-control browser-history


【解决方案1】:

这个问题被问过很多次了——我here at SO too

"Warning: page has expired" error in IE when hitting "back" button

1:将 POST 更改为 GET OR

2:发送重定向到普通页面 - 使用 response.redirect 或 location.replace javascript

http://en.wikipedia.org/wiki/Post/Redirect/Get

【讨论】:

  • 是的,它被问了很多次,我认为我的问题表述得很糟糕,对此感到抱歉。 1 和 2:使用 jsf 1.2,您不能简单地按下按钮来用 get 替换 post。我们的应用程序是为发布而构建的(我们谈论的是大约 700 页),我们无法更改它。此外,用户永远不应该返回历史记录——在设计过程中没有考虑浏览器的历史记录。底线:禁用后退按钮/删除浏览历史记录的黑客会很好
猜你喜欢
  • 2012-02-22
  • 2015-05-20
  • 1970-01-01
  • 2021-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-17
  • 1970-01-01
相关资源
最近更新 更多