3

可能重复:
通过参数进行缓存破坏

我正在使用struts2jquery插件,我想更改一个jquery-ui.css名为 .jar 的 jar 文件中的属性struts2jquery-plugin-3.3.1.jar

问题是在我更改该属性后,我可以看到文件中的值已更改,但浏览器仍使用原始值。当我调试问题时,我发现浏览器正在使用一个文件jquery-ui.css?s2j=3.3.1,一旦我删除?s2j=3.3.1浏览器就会读取我更改的文件并获得新值!

因此,任何人都可以帮助我了解两者之间的区别jquery-ui.css以及jquery-ui.css?s2j=3.3.1如何更改jquery-ui.css?s2j=3.3.1bcz 中的值我不知道该文件在哪里。

4

1 回答 1

5

这是浏览器缓存。当您将查询字符串附加?s2j=3.3.1到 URL 时,浏览器将其视为新资产,仍未缓存,并从服务器获取新副本。

经常看到这种技术被用来避免对 ajax 请求进行缓存。例如,jQuery 每次调用它的$.ajax函数时都会在 URL 上附加一个时间戳,并且cache选项设置为false.

于 2013-01-30T14:24:43.160 回答