PWA:iOS 12 Safari 中的积极缓存
Posted
技术标签:
【中文标题】PWA:iOS 12 Safari 中的积极缓存【英文标题】:PWA: Aggressive caching in iOS 12 Safari 【发布时间】:2018-09-20 08:52:33 【问题描述】:我目前正在调试我的 PWA 的 QR 扫描仪,它使用了很棒的库 Instascan。除了 ios,它在任何地方都能完美运行,我正在试图找出原因。不幸的是,我的尝试被 Safari 的激进缓存阻止了。 Safari 只是不下载我的新 js 文件。我正在使用服务人员缓存这些文件。
我尝试过的:
重新加载页面 打开页面的 PWA 版本 在脚本链接末尾附加版本号 (file.js?v=2
)
完全关闭 Safari
转到设置 > Safari > 删除历史记录和浏览数据
进入设置 > Safari > 高级 > 网站数据 > 删除所有网站数据
有什么方法可以确保 Safari 在文件更改时下载文件?我的服务器在普通的旧 ASP.NET 上运行。我在开发过程中禁用了捆绑和缩小,所以每个文件都添加了一个script
标签。
【问题讨论】:
我同意,当您尝试调试 Web 应用程序时,iOS 缓存非常糟糕 :) 【参考方案1】:将?v=<random code>
附加到您包含的 js 文件路径中效果很好。如果您的捆绑在 ASP.NET 中关闭,则将删除这些版本号。原来通过 ASP.NET 捆绑已经添加了随机版本号。
这个问题已经为我解决了。
【讨论】:
以上是关于PWA:iOS 12 Safari 中的积极缓存的主要内容,如果未能解决你的问题,请参考以下文章
PWA:如何以编程方式触发:“添加到主屏幕”?在 iOS Safari 上