我有一个非常简单的用例:
注意: Page1 和 Page2 是服务器的不同页面(此网站不是单页webapp)。
禁用缓存似乎无法解决问题。将Cache-Control
标题设置为no-cache, no-store
可在Firefox中工作(页面在导航时刷新),但在IE 11,Chrome桌面,Opera桌面,Safari OS X和Safari iOS中失败。令人惊讶的是,它适用于我的设备上的Chrome Android。
我怀疑有没有办法让页面在所有浏览器上以这种方式刷新,但我会问以下情况:在导航回来时是否可以在所有主流浏览器上重新加载页面?
如果答案是否定的,那么Javascript可能会来救援吗?例如,我可以收听的一些事件,以及在导航回来时会触发的事件,这些事件可以在所有主流浏览器上运行。
基本上,我可以在导航回来时在 Page1 中更新数据的任何解决方案。
感谢您的帮助!
编辑:我测试了在Is there a cross-browser onload event when clicking the back button?解释的“卸载”技巧,它在Mac上的Safari(V7.0.4)中无效。
答案 0 :(得分:0)
您是否在HTML中试过这个?
<META HTTP-EQUIV="Expires" CONTENT="-1">
为什么不在用户在Page2上提交更改后重定向到Page1,以便用户甚至不必回到浏览器中?