多个JS文件(由我托管)作为我无权访问的脚本标签嵌入到各个网站的代码中。因此,我无法通过在 URL 中维护指纹或通过 URL 参数来使缓存失效。
文件很大,因此必须进行缓存。除了修改 src 之外,还有哪些其他方法可以使浏览器缓存失效?
我现在考虑的解决方案是维护一个未缓存的包装器脚本,它调用实际的脚本。通过这种方式,我可以在包装器脚本中维护某种版本控制。这看起来不太优雅,还有其他方法吗?
如果这些不起作用,我会考虑减少过期 header 。
我还进行了其他优化,例如缩小、使用 CDN 等。
最佳答案
使用包装器脚本的解决方案可能是最佳解决方案。
文档 DOM 中的一个主脚本调用您的包装器脚本以在加载时附加适当的脚本。
您可以使用类似 requirejs 的内容来管理它,它还根据此内置了一些缓存清除:Prevent RequireJS from Caching Required Scripts
关于javascript - 在不更改 src URL 的情况下,浏览器缓存 javascript 文件失效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52114038/