ServiceWorker在Chrome中进行硬重载(Ctrl-Shift-R)失败

ast*_*ght 2 service-worker

为什么服务工作者在硬重载(Ctrl-Shift-R)后失败?

----案例1 CHROME ---成功

  1. 卸载服务工作者
  2. 加载页面
  3. 页面安装服务工作者
  4. Worker.postMessage()成功
  5. 重新加载页面
  6. Worker.postMessage()成功

----案例2 CHROME ---失败

  1. 卸载服务工作者
  2. 加载页面
  3. 页面安装服务工作者
  4. Worker.postMessage()成功
  5. HARD RELOAD(ctrl-shift-R)页面(serviceworker仍按照chrome:// serviceworker-internals /运行)
  6. Worker.postMessage()失败 - 'error sendingTypeError:无法读取属性'postMessage'null'

Jef*_*ick 8

当您进行shift-reload时,重新加载的页面将不会被服务工作者控制.这是服务工作者规范的一部分.

这只适用于下一页加载.未来页面加载(不涉及shift-reload)将继续由服务工作者控制,假设页面在一个范围内.

  • 对于需要经常刷新资产的Web开发人员来说,这有点麻烦 (2认同)