我有一个服务工作者,当主要内容在后台加载时显示启动画面。
不幸的是,这使得历史导航(例如,后退按钮)的体验变得更糟,因为闪屏失去了页面状态(例如,滚动位置)。
服务工作者是否有办法检测到FetchEvent是否用于历史记录导航?
答案 0 :(得分:1)
我相信通过Request
界面公开的FetchEvent
对象将没有任何特定标识为由于历史记录导航的对象。例如,mode
attribute最终将被设置为'navigate'
,这与您在导航后看到的值相同,因为除了后退按钮之外的其他内容。
isReload
上有一个FetchEvent
属性,但是service worker specification不遗余力地指出只刷新而不是历史导航会导致true
1}}值:
按下刷新按钮应视为重新加载 单击链接并按后退按钮不应该。行为 Ctrl + l的输入留给用户代理的实现。