javascript - 在不更改 src URL 的情况下,浏览器缓存 javascript 文件失效

标签 javascript caching browser-cache

多个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/

相关文章:

javascript - Safari --> "Application Cache manifest had an incorrect MIME type: text/plain."

javascript - 我应该在我的 HTML 中放入什么来确保用户获得我页面的最新版本,而不是旧版本?

android - WebView缓存数据目录?

javascript - 需要使用 Node js 从 websocket 流更新 CSV 文件

caching - 在 Openstack Keystone 中使用 Redis,redis 中的一些垃圾

javascript - 更改下一个值中断代码

android - Android 是否会在更新时清理应用程序缓存?

android - 使用 getDrawingCache 保存 View 位图会产生黑色图像

javascript - React + Typescript 继承和扩展属性

javascript - 从另一个 .js 文件调用外部 .js 文件中的函数