如何在 Safari 11.0 中禁用缓存?
Posted
技术标签:
【中文标题】如何在 Safari 11.0 中禁用缓存?【英文标题】:How do I disable cache in Safari 11.0? 【发布时间】:2018-03-01 16:04:10 【问题描述】:我今天将 Safari 更新到 11.0,但缺少“禁用缓存”菜单项(在“开发”下)。有人知道实现这一点的新方法吗?
【问题讨论】:
【参考方案1】:作为Adam has answered,发行说明中添加了有关禁用缓存的信息,我已经相应地更新了我的答案:
-
对于一次性,您可以在页面上使用 ⌥⌘R 从原点重新加载或 ⇧ kbd>⌘R 来自 Web Inspector。
要获得更持久的解决方案,您可以告诉 Safari 在加载资源时忽略缓存,方法是打开 Web Inspector,然后转到“网络”选项卡并在右上角设置 图标(激活时变为蓝色)。
在“网络”选项卡中使用 选项进行试验后,它的行为似乎与发行说明中记录的不同:
该设置似乎会一直存在,直到手动禁用,即使退出 Safari 也是如此。 似乎所有页面都禁用了缓存,而不仅仅是检查过的页面。 Web Inspector 并不总是需要保持打开状态。 从 localhost 提供的资源有时仍从内存缓存中提供,即使在“网络”选项卡中禁用了缓存也是如此。重新启动 Safari 似乎可以清除此行为。Safari 技术预览版发布说明(第 27 版)
浏览器更改
在“查看”菜单中添加了“从原始页面重新加载页面”备用菜单项。此操作会在不使用缓存资源的情况下重新加载页面。 从“进入/退出响应式设计模式”中删除了 Option-Command-R (⌥⌘R) 键盘快捷键,并将其映射到“从源重新加载页面”。 删除了开发菜单中的禁用缓存菜单项。现在可以通过 Web Inspector 的“网络”选项卡使用等效功能。网页检查器
在“网络”选项卡中添加了“禁用缓存”切换,该切换仅适用于 Web Inspector 打开时检查的页面。Safari 11.1
图标的外观在 Safari 11.1 中略有变化:
【讨论】:
请特别注意最后一个项目符号“资源服务...”——这似乎是一个重大错误,会导致资源在启动新选项卡/窗口之前拒绝重新加载。此外,cmd-shift-R 将永久灰色任何当前断点位置,直到出现新的选项卡/窗口,而 opt-click 重新加载则不会。 仍有问题。从连接的触摸设备进行检查时,Safari 会一直从内存中提供文件。即使图标为蓝色,即使在重新启动 safari 后也是如此。野生动物园很烂。 Safari 中存在一个错误,即无论设置如何,使用preload
的资源将始终从内存缓存中提供。 bugs.webkit.org/show_bug.cgi?id=193533
可以确认它是 2021 年 4 月,并且此行为在移动 Safari 上仍然相同。连接 iPhone 模拟器,切换网络选项卡上的“加载资源时使用资源缓存”按钮,some 资源总是被新加载,但 javascript 资源仍然显示“(内存)”并且没有重新加载刷新。【参考方案2】:
看起来(根据“Safari Technology Preview Release Notes”)唯一的方法是打开“Web Inspector”并转到“网络”选项卡,然后单击小按钮以忽略资源缓存。
【讨论】:
这是一个比公认的更好的解决方案。 有没有办法做到这一点没有打开检查器菜单?!?这会让我发疯。 我刚刚意识到即使关闭检查器(以及所有页面),此设置仍然存在。不直观,但做我想要的!我只是希望苹果以后不要改变它......【参考方案3】:根据我在 Safari 11.0.3 上的测试,您应该在切换“加载资源时忽略资源缓存”后重新启动 Safari。
【讨论】:
这个选项在哪里? 见adam's answer@trss 这应该是对一个或多个现有答案的评论,它本身并不是一个答案。 @colonelclick 没有足够的声誉来评论其他人的答案。 啊,是的,我忘了:(以上是关于如何在 Safari 11.0 中禁用缓存?的主要内容,如果未能解决你的问题,请参考以下文章
如何在移动 Safari 的下拉列表中禁用选择选项 [重复]