【问题标题】:Changes made to web-app/css not reloaded in browser?对 web-app/css 所做的更改未在浏览器中重新加载?
【发布时间】:2017-09-12 13:05:08
【问题描述】:

我正在使用 grails 2.2。我在 web-app/css 文件夹中有几个 css 文件。当我对这些文件进行更改并运行应用程序或部署应用程序时,不会反映对这些文件所做的更改。我需要在浏览器中显式加载此文件并单击浏览器中的刷新按钮,然后才能获得新的 css 文件。很明显,css 文件正在被缓存,这阻止了新文件的显示。有解决这个问题的方法吗?我们如何强制浏览器检测 css 文件的变化并在它们发生变化时重新加载?

感谢您的帮助!谢谢!

【问题讨论】:

    标签: css caching grails


    【解决方案1】:

    我解决此问题的方法是每次更新 JS 或 CSS 时更改 HTML 页面。

    这样可以确保浏览器加载最新的 JS 或 CSS。

    您可以在 CSS 或 JS 文件的名称后添加版本字段,同时将它们包含在 HTML 中

    <link href="/site.css?version=3" rel="stylesheet" type="text/css" />
    

    每次更改 CSS 时只需更新 HTMl 中的版本号。

    【讨论】:

    • 好的,如果我理解正确,更改应该在 css 链接中,而不是在 html 文件中的任何地方正确吗?
    • 我正在使用资源插件。 grails-plugins.github.io/grails-resources/guide/… 所以 css 依赖在 ApplicationResources 配置文件中说明。在那里我将 core { resource url: '/css/main.css' resource url: 'js/application.js' } 更改为 core { resource url: '/css/main.css?version=2' resource url: 'js/application.js' } 并没有运气。
    • ok 原来我需要同时更改版本号和css文件中的更改。我在 css 中进行了更改,然后将 ApplicationResources.groovy 文件更新为 core { resource url: '/css/main.css?version=6' resource url: 'js/application.js' } 现在它可以工作了。谢谢!
    猜你喜欢
    • 2018-08-21
    • 2012-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多