ios - PWA:iOS 12 Safari 中的积极缓存
问题描述
我目前正在调试我的 PWA 的 QR 扫描仪,它使用了很棒的库Instascan。除了 iOS,它在任何地方都能完美运行,我正在试图找出原因。不幸的是,我的尝试被 Safari 的激进缓存阻止了。Safari 只是不下载我的新 js 文件。我正在使用服务人员缓存这些文件。
我试过的:
- 重新加载页面
- 打开页面的 PWA 版本
- 在脚本链接末尾附加版本号 (
file.js?v=2
) - 完全关闭 Safari
- 前往“设置”>“Safari”>“删除历史记录和浏览数据”
- 转到设置 > Safari > 高级 > 网站数据 > 删除所有网站数据
有什么方法可以确保 Safari 在文件更改时下载文件?我的服务器在普通的旧 ASP.NET 上运行。我为开发过程禁用了捆绑和缩小,因此每个文件都添加了一个script
标签。
解决方案
附加?v=<random code>
到您包含的 js 文件路径非常有效。如果您的捆绑在 ASP.NET 中关闭,则将删除这些版本号。原来通过 ASP.NET 捆绑已经添加了随机版本号。
这个问题为我解决了。
推荐阅读
- android - 两种构建类型 - 重复代码。不好解决
- rest - 在 Microsoft Dynamics 中添加活动成员并更新活动的打开和点击(成员状态)
- c++11 - 如何添加 -std=c++11 来制作文件
- laravel - 如何在选择 Laravel 中的日期 +1
- android - 如何在纯 Kotlin 中开始新的意图/活动?
- linkedin - LinkedIn UGC 帖子的“作者”字段应该是展示/品牌页面的什么?
- azure - 如何在 Azure 上克隆/制作已部署机器人的另一个副本?
- django - 如何将自定义视图添加到 django 管理界面?
- electron - 为什么在使用 cypress run 时运行每个规范后 Electron 浏览器会重新加载?
- c# - 在 .Net 中使用 openXml 打开 excel 文件时出现错误消息?