【问题标题】:Why is my newest css file not getting updated in my browser? [duplicate]为什么我最新的 css 文件没有在我的浏览器中更新? [复制]
【发布时间】:2020-12-02 13:37:55
【问题描述】:

如果我在描述我正在做的事情时没有使用正确的术语,请原谅我。这是我开始使用 html、css 和 javascript 进行网页设计的第 2 周。

在我的浏览器上点击重新加载按钮和去地址栏然后按回车去网页有什么区别?

我对我的 js 和 css 文件进行了更改,然后单击了浏览器上的重新加载按钮。但是,当我在浏览器中检查页面上的元素进行调试时,js 和 css 文件很旧并且没有我的更新。只有当我进入地址栏并在网页上按 Enter 时,它才会在我调试时显示我的新 css 文件。

为了说明我在做什么,有人给了我一个 HTML 技巧,这样当我进行更改并重新启动 Web 服务时,它会(应该)重新加载文件而无需我做任何事情:

  <script src="/static/js/plan_runner.js?u={{ app_start }}" type="text/javascript"></script>
  <link href="/static/css/plan_runner.css?u={{ app_start }}" rel="stylesheet">

我的 route.py 文件中有这个 sn-p:

from flask import Flask, request, render_template
app = Flask(__name__)
APP_START=int(time.time())
...
...
@app.route('/blah')
def tester():
...
...
return render_template("test.html', app_start=APP_START)

但是,这似乎只有在我转到地址栏并在我的 url 上单击 enter 时才有效。当我在页面上并单击浏览器上的“重新加载”按钮时,它似乎没有更新我的 js 或 css 文件。

有人可以向我解释单击重新加载按钮和在地址栏上按 Enter 之间的区别以及为什么一种情况会更新我的 css 和 js 文件而另一种情况不会?谢谢。

【问题讨论】:

  • 这叫做缓存。如果你在网络上开发东西,通常你可以打开开发者控制台/网络检查器(不同的浏览器 - 不同的名称)......当它打开时,缓存将被关闭

标签: javascript html css flask


【解决方案1】:

这种情况发生在我身上很多次,我找到了解决这个问题的方法。

在开发(调试)模式下运行烧瓶服务器。为此,只需运行以下命令来启动烧瓶服务器:

 1. export FLASK_ENV=development
 2. export FLASK_APP=app.py (replace app.py with your main file name and .py)
 3. flask run

这将在您保存的每个更改时重新启动服务器。

第二个解决方案: 禁用浏览器缓存。谷歌浏览器允许你禁用缓存。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多