PWA,服务人员错误:“ Internet连接似乎处于脱机状态”

时间:2020-01-04 20:30:04

标签: javascript service-worker progressive-web-apps

我有一个可离线运行的渐进式Web应用程序,但是有时当我离线且不在“书签”中时,我打开它时,出现白色屏幕,错误为:"Safari cannot open the page. The error was: "FetchEvent.respondWith received an error: TypeError: The Internet connection appears to be offline."

我想这是来自服务工作者的“ Fetch”事件,这是我的代码:

self.addEventListener('fetch', function (event) {
  const {
    request,
    request: {
      url,
      method,
    },
  } = event;
  if (event.request.url.startsWith(self.location.origin)) {
    event.respondWith(
      caches.match(event.request)
      .catch(function(error){
        return;
      })
      .then(function (res) {
        if (event.request.method == 'POST' && !navigator.onLine) { //Prevent POST since they give errors.
          if (res != 'undefined') {
            return res;
          }
          return fetch(event.request);
        } else {
          return fetchAndUpdate(event.request);
        }
      })
    );
  }else{
    return;
  }
})

我错过了什么吗?还是我看错地方了?任何建议将不胜感激!

0 个答案:

没有答案