Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/29.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 如何告诉浏览器从缓存中删除文件并获取新部署的文件_Javascript_Caching_Cdn_Browser Cache - Fatal编程技术网

Javascript 如何告诉浏览器从缓存中删除文件并获取新部署的文件

Javascript 如何告诉浏览器从缓存中删除文件并获取新部署的文件,javascript,caching,cdn,browser-cache,Javascript,Caching,Cdn,Browser Cache,我们有3个不同的Web应用程序在tomcat上运行。在不久的将来,将会有一个javascript,所有的Web应用程序都必须包含它。javascript应该由内部CDN提供服务 现在,如果我们更新这个Javascript文件,我们希望确保用户将得到最新的文件,这将导致我们的问题。作为提供商,我们如何告知客户的浏览器从浏览器缓存中删除旧文件并接收新文件 我们已经考虑过将带有src的脚本标记添加到servlet,动态地为脚本提供服务,但是浏览器下次仍然不会再询问,因为url没有改变 此外,我们不希望

我们有3个不同的Web应用程序在tomcat上运行。在不久的将来,将会有一个javascript,所有的Web应用程序都必须包含它。javascript应该由内部CDN提供服务

现在,如果我们更新这个Javascript文件,我们希望确保用户将得到最新的文件,这将导致我们的问题。作为提供商,我们如何告知客户的浏览器从浏览器缓存中删除旧文件并接收新文件

我们已经考虑过将带有src的脚本标记添加到servlet,动态地为脚本提供服务,但是浏览器下次仍然不会再询问,因为url没有改变


此外,我们不希望通过添加随机数来完全禁用browsercache…

将此代码添加到元标记将帮助您获取文件的最新版本

<meta http-equiv="Expires" content ="0" />
<meta http-equiv="Pragma" content ="no-cache" />
<meta http-equiv="Cache-Control" content ="no-cache" />

更新:评论后

我们只是想告诉浏览器,什么时候 将提供新版本

要实现这一点,您需要CRC[循环冗余校验]概念


看一看。这将帮助您解决问题。

此元标记强制html文件不被缓存,而不是js文件,还是我错了?正如我所说,我们不想完全禁用缓存。我们只是想告诉浏览器,什么时候会有新版本。@Christian,答案已更新。是的,这里的大多数答案都建议您在文件名中添加随机数,这是您不想要的。因此,另一个转折点是这个。