ios - PWA : Aggressive caching in iOS 12 Safari

标签 ios safari browser-cache service-worker progressive-web-apps

我目前正在调试我的 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/

相关文章:

ios - 自适应 Segues 中的 "Adaptive"是什么意思?

ruby-on-rails - Safari 无法使用 Devise 和 Rails 4 登录

javascript - 更改窗口后 Safari 模糊事件循环

ios - Vuetify 数据表在 Safari 中呈现问题

caching - Node.js/快速缓存

ios - 初始化 GKMatchMakerViewController 时出错

IOS,NSLayoutConstraint 问题

ios - 回历的标记日期

html - Web 组件 - 内部浏览器缓存

javascript - 强制重新加载所有页面资源,而不是从缓存中加载