Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何强制在JSP(即非PHP)上重新加载缓存的css文件?_Javascript_Html_Css_Jsp_Caching - Fatal编程技术网

Javascript 如何强制在JSP(即非PHP)上重新加载缓存的css文件?

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" /> 每

我正在修改一个css文件,这将使我的网站发生巨大的变化。有没有一种方法可以强制客户端重新加载css,以便他们能够接受新的更改。不幸的是,要求成千上万的人按CTRL+F5键或清除他们的缓存不是一个选项。我在几篇博客上读到关于在css文件名上添加todays date作为参数的文章。

您可以在css文件url的末尾添加一个唯一的查询字符串参数

<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文件。