如何解决这里的跨源获取请求会发生什么?
看看这个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 举报,一经查实,本站将立刻删除。