微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

这里的跨源获取请求会发生什么?

如何解决这里的跨源获取请求会发生什么?

看看这个service worker code I found from googlechrome,那些跳过的跨域请求会发生什么? if 没有 else,是否仍会收到请求?

// The fetch handler serves responses for same-origin resources from a cache.
// If no response is found,it populates the runtime cache with the response
// from the network before returning it to the page.
self.addEventListener('fetch',event => {
  // Skip cross-origin requests,like those for Google Analytics.
  if (event.request.url.startsWith(self.location.origin)) {
    event.respondWith(
      caches.match(event.request).then(cachedResponse => {
        if (cachedResponse) {
          return cachedResponse;
        }

        return caches.open(RUNTIME).then(cache => {
          return fetch(event.request).then(response => {
            // Put a copy of the response in the runtime cache.
            return cache.put(event.request,response.clone()).then(() => {
              return response;
            });
          });
        });
      })
    );
  }
});

获取处理程序为来自缓存的同源资源提供响应。

这对我来说意味着不需要条件,除非它应该读取“This fetch handler...”然后需要一个 else 条件,如下所示:

else {
  fetch(event.request);
}

其他请求还在进行中吗?

感激收到任何帮助或见解。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。