如何在所有主流浏览器上导航时更新页面内容?

时间:2014-06-19 17:14:02

标签: javascript html

我有一个非常简单的用例: Page1 是一个列表。单击列表项时,用户将转到 Page2 ,在那里她可以对该项进行更改。导航回来时, Page1 应该反映出这些变化。

注意: 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)中无效。

1 个答案:

答案 0 :(得分:0)

您是否在HTML中试过这个?

<META HTTP-EQUIV="Expires" CONTENT="-1">

为什么不在用户在Page2上提交更改后重定向到Page1,以便用户甚至不必回到浏览器中?