多个JS文件(由我托管)作为我无法访问的脚本标签嵌入到各种网站的代码中。因此,我无法通过在URL中或通过URL参数维护指纹来使缓存无效。
文件很大,因此必须进行缓存。除了修改src之外,还有哪些其他方法可以使浏览器缓存无效?
我现在正在考虑的解决方案是维护一个未缓存的包装器脚本,该脚本调用实际的脚本。这样,我可以在包装脚本中维护某种排序版本。这似乎并不优雅,还有其他方法吗?
如果这些方法无法解决,我将考虑减少expires标头。
我还进行了其他优化,例如最小化,使用CDN等。
答案 0 :(得分:1)
您使用包装脚本的解决方案可能是最佳解决方案。
文档DOM中的一个main脚本,调用您的包装器脚本以在加载时附加适当的脚本。
您可以使用requirejs之类的方法来管理它,并且根据此方法还内置了一些缓存清除功能:Prevent RequireJS from Caching Required Scripts
答案 1 :(得分:0)
调用实际脚本
为什么不仅仅从入口URL返回302响应?
(302响应本身可以被缓存-在您的情况下,这应该是短期的)