JavaScript文件的浏览器缓存无效,而不更改src URL

时间:2018-08-31 11:00:51

标签: javascript caching browser-cache

多个JS文件(由我托管)作为我无法访问的脚本标签嵌入到各种网站的代码中。因此,我无法通过在URL中或通过URL参数维护指纹来使缓存无效。

文件很大,因此必须进行缓存。除了修改src之外,还有哪些其他方法可以使浏览器缓存无效?

我现在正在考虑的解决方案是维护一个未缓存的包装器脚本,该脚本调用实际的脚本。这样,我可以在包装脚本中维护某种排序版本。这似乎并不优雅,还有其他方法吗?

如果这些方法无法解决,我将考虑减少expires标头。

我还进行了其他优化,例如最小化,使用CDN等。

2 个答案:

答案 0 :(得分:1)

您使用包装脚本的解决方案可能是最佳解决方案。

文档DOM中的一个main脚本,调用您的包装器脚本以在加载时附加适当的脚本。

您可以使用requirejs之类的方法来管理它,并且根据此方法还内置了一些缓存清除功能:Prevent RequireJS from Caching Required Scripts

答案 1 :(得分:0)

  

调用实际脚本

为什么不仅仅从入口URL返回302响应?

(302响应本身可以被缓存-在您的情况下,这应该是短期的)