【发布时间】:2021-05-23 21:33:38
【问题描述】:
我真的被我在一个编程项目中遇到的缓存问题困住了。 基本上我正在生成一个带有 folium 的 Leaflet-Map 并将静态输出存储在我的本地磁盘上。
然后我想在另一个 HTML 页面中显示这个 HTML 作为 iframe。 然后,用户应该能够生成一个带有简单表单的新地图和一个 POST 请求到烧瓶,然后重新加载包含带有 iframe 的 HTML 的页面。
问题是一切正常,页面在磁盘上更新,但页面在浏览器中重新加载时却没有。这个问题也与浏览器无关(chrome、firefox、ege)。
我已经尝试了多种方法:
- 添加 app.after_request:
@app.after_request
def add_header(response):
response.headers['Cache-Control'] = 'public, max-age=0'
return response
- 在 iframe 的 url 中添加随机查询参数
<div class="embed-responsive embed-responsive-16by9">
<script type="text/javascript">
var url = "map.html?" + (new Date()).getTime();
window.document.write("<iframe class=\"embed-responsive-item\" id=\"map\" src=" + url + "\></iframe>")</script>
</div>
- 使用 BS 将元标记添加到 folium 的 HTML 输出中: Iframe-Output
这仍然对 iframe 缓存没有任何影响。 也许有更好的方法可以做到这一点,或者有人已经遇到过类似的问题。
【问题讨论】:
标签: html flask iframe browser-cache