在Firefox中测试一种无需缓存重新加载HTML页面的方法时,我在代码中包含了以下代码段:
<script>
window.setTimeout(function () {
location.reload(false);
}, 5000);
</script>
这会在5秒后重新加载页面,但是我会看到提示:“要显示此页面,Firefox必须发送重复之前执行的任何操作(例如搜索或订单确认)的信息。”
如果有办法通过Javascript进行静默刷新,那么没有显示任何提示?例如,如果我使用refresh Meta tag
(HTML),我的浏览器会静默刷新。我想近似相同的经验,但通过JS(并没有缓存)。 BTW我是一个Django网络应用程序,我在我的Django模板中注入了JS代码。
答案 0 :(得分:0)
您是否尝试过location.reload(true)?如果设置为true,它将始终从服务器重新加载。设置为false,它将首先查看缓存。
答案 1 :(得分:0)
您收到此提示是因为您要求重新加载lb_item.isChecked := true
请求。在重新加载POST
请求时,您应始终收到此提示,因为它不是safe method
但是,如果您愿意,可以明确重新发送POST
请求(尽管您可能很难找回以前发送的POST数据)。或明确地将POST
请求发送到同一网址。
答案 2 :(得分:0)
这是保护人们不止一次提交表单信息的标准行为(例如,防止电子商务系统中的双重付款)。尝试告诉Javascript指向“新”页面:
尝试使用此功能,将网址设置为您自己的网址;
window.location = "my.url/index.html?nocache=" + (new Date()).getTime();
从这里借来的答案,其中也解释了为什么这有效 - &gt; How can I force window.location to make an HTTP request instead of using the cache?