gpt4 book ai didi

javascript - 如何防止硬重载绕过 Service Worker?

转载 作者:搜寻专家 更新时间:2023-11-01 05:21:36 25 4
gpt4 key购买 nike

硬重新加载或硬刷新(例如,Chrome 中的 shift-reload)似乎绕过了 service worker。

例如,加载服务 worker 控制的页面,如 https://airhorner.com/https://wiki-offline.jakearchibald.com/ ,在 devtools 中将网络设置为“离线”,然后硬性重新加载页面会导致“没有互联网连接”页面损坏。 (如预期的那样,定期重新加载会显示缓存的页面。)

有没有办法防止这种情况,或者在设备离线时使用 service worker 作为后备?

最佳答案

这是作为 service worker specification 的一部分明确调用的行为:

navigator.serviceWorker.controller returns null if the request is a force refresh (shift+refresh). The ServiceWorker objects returned from this attribute getter that represent the same service worker are the same objects.

所以这不仅仅是浏览器实现细节。

如果您觉得有充分的理由说明服务人员不应该那样做,最好的方法是在规范的 issue tracker 中提出您的顾虑。 .

关于javascript - 如何防止硬重载绕过 Service Worker?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35628243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com