如何从Service Worker发送“离线”消息?

时间:2020-05-08 14:59:10

标签: javascript service-worker

如何返回缓存,并显示一条消息指示离线。可以吗?

到目前为止,我收到的

代码只是发送回缓存:

const cachedFetch = request => request.method != 'GET' ? 

  fetch(request) : 
  caches.open("demo").then(cache =>
    cache.match(request).then(resp => {
      if(!!resp) {
        console.log('cache', request.url)
        return resp;// how to send custom message back with resp
      } else {
        console.log('not in cache', request.url)
        return fetch(request).then(response => {
         return response


        })
      }
    })
  )

self.addEventListener('fetch', event => event.respondWith(
    cachedFetch(event.request)
  )
)

1 个答案:

答案 0 :(得分:0)

服务工作者可以使用postMessage()通知客户端。另外,该应用还可以独立于Service Worker监听在线/离线事件:

https://developer.mozilla.org/en-US/docs/Web/API/NavigatorOnLine/Online_and_offline_events

相关问题