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

浏览器缓存使javascript文件无效,而不更改src URL,javascript,caching,browser-cache,Javascript,Caching,Browser Cache,我托管的多个JS文件作为脚本标记嵌入到各种网站的代码中,我无法访问这些脚本标记。所以,我不能通过在URL中维护指纹或通过URL参数使缓存无效 文件相当大,因此必须进行缓存。除了修改src之外,还有哪些其他方法使浏览器缓存无效 我现在考虑的解决方案是维护一个不缓存的包装器脚本,它调用实际的脚本。通过这种方式,我可以在包装器脚本中维护某种排序版本控制。这看起来并不优雅,还有其他方法吗 如果这些不起作用,我会考虑减少Excel报头。< /P> 我还做过其他优化,如缩小规模、使用CDN等。使用包装器脚本

我托管的多个JS文件作为脚本标记嵌入到各种网站的代码中,我无法访问这些脚本标记。所以,我不能通过在URL中维护指纹或通过URL参数使缓存无效

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

我现在考虑的解决方案是维护一个不缓存的包装器脚本,它调用实际的脚本。通过这种方式,我可以在包装器脚本中维护某种排序版本控制。这看起来并不优雅,还有其他方法吗

如果这些不起作用,我会考虑减少Excel报头。< /P>


我还做过其他优化,如缩小规模、使用CDN等。

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

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

您可以使用类似这样的工具来管理它,它还内置了一些缓存破坏功能,如下所示:

这将调用实际脚本

为什么不直接从入口点URL返回302响应呢


302响应本身可以缓存-在您的场景中,这应该是短期的

我将研究使用requirejs构建包装脚本。我不确定302重定向在这种情况下会有什么帮助,您能详细说明吗?您的合作伙伴指出,该URL返回一个可缓存和代理可缓存302响应,该响应在下一个星期四即7天TTL到期。重定向位置是一个可无限缓存的版本化URL。这在每周增加1次RTT时会有更高的成本,但这意味着只有在版本更改时才会有带宽成本。