如何从客户端浏览器 remove/replace 缓存 css 和 js 文件?
How to remove/replace cached css and js file from client Browser?
有什么办法可以在客户端下次访问网站时替换或删除缓存的css和客户端浏览器中的js文件吗?
是的,给它一个版本号之类的。例如,客户端在您的站点上并加载:
http://path/to/cssFile.css
如果你改变这个并添加一个版本号,当他们再次访问时他们会再次下载,例如
http://path/to/cssFile.css?version=1.001
在这里,我认为这可以帮助你.. 至少它适用于图像:
How to reload/refresh an element(image) in jQuery
GL =)
设置 expire-date header 后,client/cache-server 会将其缓存到 URL 的指定日期。描述缓存机制很长写到这里...(如果你不熟悉它google它)
你无法控制它。但!如果您更改 URL 客户端将认为它是新资源并再次从您的服务器获取它。因此,请尝试在您的资源之后使用假查询来解决问题。
而不是
http:/example.com/static/style_main.css
使用:
http:/example.com/static/style_main.css?t=1234
当您认为是时候更改时,它会增加数字。
===
如果你很好地调整了你的应用程序并使用像 Apache 或 nginx 这样的好网络服务器来提供这个静态文件,他们会毫不费力地为你处理它。因为客户端会要求服务器提供最新版本,如果文件内容自之前发生变化,它会响应 403 Not Modified 或文件内容。
如果您的 JS/CSS 是动态更改的,那么最好的方法是明确设置其 header 不被缓存。
有什么办法可以在客户端下次访问网站时替换或删除缓存的css和客户端浏览器中的js文件吗?
是的,给它一个版本号之类的。例如,客户端在您的站点上并加载:
http://path/to/cssFile.css
如果你改变这个并添加一个版本号,当他们再次访问时他们会再次下载,例如
http://path/to/cssFile.css?version=1.001
在这里,我认为这可以帮助你.. 至少它适用于图像:
How to reload/refresh an element(image) in jQuery
GL =)
设置 expire-date header 后,client/cache-server 会将其缓存到 URL 的指定日期。描述缓存机制很长写到这里...(如果你不熟悉它google它)
你无法控制它。但!如果您更改 URL 客户端将认为它是新资源并再次从您的服务器获取它。因此,请尝试在您的资源之后使用假查询来解决问题。
而不是
http:/example.com/static/style_main.css
使用:
http:/example.com/static/style_main.css?t=1234
当您认为是时候更改时,它会增加数字。
===
如果你很好地调整了你的应用程序并使用像 Apache 或 nginx 这样的好网络服务器来提供这个静态文件,他们会毫不费力地为你处理它。因为客户端会要求服务器提供最新版本,如果文件内容自之前发生变化,它会响应 403 Not Modified 或文件内容。
如果您的 JS/CSS 是动态更改的,那么最好的方法是明确设置其 header 不被缓存。