通过JS片段刷新页面

时间:2016-03-16 17:14:40

标签: javascript django refresh page-refresh

在Firefox中测试一种无需缓存重新加载HTML页面的方法时,我在代码中包含了以下代码段:

<script>
window.setTimeout(function () {
    location.reload(false);
}, 5000);
</script>

这会在5秒后重新加载页面,但是我会看到提示:“要显示此页面,Firefox必须发送重复之前执行的任何操作(例如搜索或订单确认)的信息。”

如果有办法通过Javascript进行静默刷新,那么没有显示任何提示?例如,如果我使用refresh Meta tag(HTML),我的浏览器会静默刷新。我想近似相同的经验,但通过JS(并没有缓存)。 BTW我是一个Django网络应用程序,我在我的Django模板中注入了JS代码。

3 个答案:

答案 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?