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