浏览器返回上一页功能,如果返回如何重新加载文档
Browser go back to previous page function, how to reload a document if go back?
这是我对浏览器内置返回功能的问题。
假设我有两页:第 1 页和第 2 页。
Page1 所做的是下载一个 .json 文件,然后在网页上打印 .json 文件的数据。
Page2允许用户将新数据插入该.json文件。
如果用户点击页面 1,然后转到页面 2 插入新数据,然后点击返回按钮。.json 文件不会更新。因此,刚刚插入的数据不会显示。
但是我需要更新新数据。
有什么想法可以解决这个问题吗?
如果缓存是您的问题,那么您可能需要考虑这个有缺陷的老栗子。将这些添加到您的<head>
部分,但要小心,因为它的有效性因浏览器/版本而异。有关深入的详细信息,请参阅 w3.org 链接。
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9
我假设您使用javascript和onload事件来下载.json文件并显示其内容。问题是当您使用后退按钮时不会触发 onload 事件。您可以尝试使用 window.onpopstate 事件而不是 onload。当使用后退按钮导航到网页时,也会调用 onpopstate 事件。
function init() {
//load .json ...
}
window.onpopstate = init;
可能是
json 数据正在被缓存,因此即使您在到达"Page1"时再次请求它,您也可能正在读取它的缓存版本。也就是说,如果您已成功避免缓存页面本身,则仍然可以缓存数据。
克服此类问题的一种简单但笨拙的方法是在每次加载 json 数据时更改 URL 的 URL。 例如,在URL中添加时间戳或其他一些理想情况下唯一的部分:
myjson.json?timestamp=xxx
相关文章:
- Chrome扩展没有't在重新加载之前考虑期权价值
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 在非我的页面上重新加载CSS
- ROR:如何在不重新加载浏览器的情况下从控制器获取参数
- 仅重新加载网页的一部分
- 每次提交表单时都会重新加载网页
- django模板没有在AJAX发布后重新加载
- 页面在我的javascript执行后重新加载,我不希望它这样做
- 如何通过ajax增加/减少PHP变量值并重新加载函数
- 如何在ReactJs中渲染子组件时重新加载子组件的数据
- 在模板中重新加载嵌入的javascript(Grails)
- 在web应用程序中的新搜索中重新加载搜索结果(不带jQuery)
- 如何在页面重新加载时显示jquery ui对话框
- 重新加载页面时Javascript变量发生变化
- 如何在不重新加载的情况下提交表单,并使用Node+Express将数据传递回同一页面
- 如何在浏览器重新加载时保存位置哈希状态
- index.html使用webpack开发服务器未重新加载
- 如何重新加载脚本标记
- 单击同一链接时,使Iron Router重新加载页面
- 绘制(重新加载)具有cors=“”的图像;匿名的“;在画布上(javascript)