Javascript 如何强制在JSP(即非PHP)上重新加载缓存的css文件?
我正在修改一个css文件,这将使我的网站发生巨大的变化。有没有一种方法可以强制客户端重新加载css,以便他们能够接受新的更改。不幸的是,要求成千上万的人按CTRL+F5键或清除他们的缓存不是一个选项。我在几篇博客上读到关于在css文件名上添加todays date作为参数的文章。您可以在css文件url的末尾添加一个唯一的查询字符串参数Javascript 如何强制在JSP(即非PHP)上重新加载缓存的css文件?,javascript,html,css,jsp,caching,Javascript,Html,Css,Jsp,Caching,我正在修改一个css文件,这将使我的网站发生巨大的变化。有没有一种方法可以强制客户端重新加载css,以便他们能够接受新的更改。不幸的是,要求成千上万的人按CTRL+F5键或清除他们的缓存不是一个选项。我在几篇博客上读到关于在css文件名上添加todays date作为参数的文章。您可以在css文件url的末尾添加一个唯一的查询字符串参数 <link rel="stylesheet" type="text/css" href="/my/css/file.css?123" /> 每
<link rel="stylesheet" type="text/css" href="/my/css/file.css?123" />
每次更新时只需增加数字
编辑:
要从web.xml文件加载,请使用以下命令:
<link rel="stylesheet" type="text/css" href="/my/css/file.css?<%=application.getInitParamer("cssBuildNumber")%>" />
这是在web.xml中实现的
<context-param>
<param-name>cssBuildNumber</param-name>
<param-value>123</param-value>
</context-param>
cssBuildNumber
123
我正在寻找一种更自动化的解决方案。但这将暂时奏效。我是否需要更改css文件中的任何内容以引用该添加内容?或者浏览器只是自动重新加载它?您可以添加jsp中生成的值,例如当前系统时间。file.css?但这将导致文件永远不会被缓存,这将是不好的。理想情况下,您只希望在进行更新时清除人员缓存。不,浏览器会将其视为以前从未访问过的唯一URL,因此将再次下载。如果您希望将该数字作为上下文参数存储在web.xml文件中,并从那里加载它,而不是直接将其键入jsp文件中,则可以这样做。然后它就可以全局地用于所有css文件。