我目前正在调试我的 PWA 二维码扫描器,它使用了很棒的库 Instascan .它在除 iOS 以外的任何地方都运行良好,我正在尝试找出原因。不幸的是,我的尝试被 Safari 的积极缓存停止了。 Safari 只是不下载我的新 js 文件。我正在使用 service worker 缓存这些文件。
我尝试过的:
- 重新加载页面
- 打开页面的 PWA 版本
- 在脚本链接末尾附加版本号 (
file.js?v=2
) - 完全关闭 Safari
- 转到“设置”>“Safari”>“删除历史记录和浏览数据”
- 转到“设置”>“Safari”>“高级”>“网站数据”>“删除所有网站数据”
有什么方法可以确保 Safari 在更改文件时下载这些文件?我的服务器运行在普通的旧 ASP.NET 上。我在开发过程中禁用了捆绑和缩小,因此每个文件都添加了一个 script
标签。
最佳答案
追加?v=<random code>
您包含的 js 文件路径完美无缺。如果您的捆绑在 ASP.NET 中关闭,则这些版本号将被删除。事实证明,通过 ASP.NET 进行捆绑已经添加了随机版本号。
这个问题对我来说已经解决了。
关于ios - PWA : Aggressive caching in iOS 12 Safari,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52421145/