缓存控制指令(仅当缓存)被开发工具更改了吗?
Cache-control directive (only-if-cached) changed by dev-tools?
我们正在开发一个渐进式 Web 应用程序,服务工作人员为此拦截网络流量(通过 fetch 事件处理程序)。我们注意到,有时某个请求在这里会失败,因为 Request.cache
是 only-if-cached 而 Request.mode
是 no-cors, but not 同源.
所以它类似于this problem。
然后我注意到,只有在 Chrome (v 65) DevTools 未打开时才会发生这种情况。有没有人注意到同样的现象,有没有人知道为什么会这样?
部分请求:
bodyUsed: false,
cache: "only-if-cached",
credentials: "include",
destination: "unknown",
headers: Headers {},
integrity: "",
method: "GET",
mode: "no-cors",
redirect: "follow",
referrer: "",
referrerPolicy: "no-referrer-when-downgrade",
url: "https://example.com/path/to/app-name/#!
我们是这样处理这个问题的,但恐怕这样不合适。
serviceWorkerGlobal.addEventListener('fetch', function(event)
{
if (event.request.cache === 'only-if-cached' && event.request.mode !== 'same-origin') {
var oStrangeRequest = event.request.clone();
console.log('Fetch. Request cache has only-if-cached, but not same-origin.',
oStrangeRequest.cache, oStrangeRequest.mode,
'request redirect:',
oStrangeRequest.redirect, oStrangeRequest.url, oStrangeRequest);
return;
}
// ...
});
这是一个错误。您可以在此处查看修复进度:https://bugs.chromium.org/p/chromium/issues/detail?id=823392
我们正在开发一个渐进式 Web 应用程序,服务工作人员为此拦截网络流量(通过 fetch 事件处理程序)。我们注意到,有时某个请求在这里会失败,因为 Request.cache
是 only-if-cached 而 Request.mode
是 no-cors, but not 同源.
所以它类似于this problem。
然后我注意到,只有在 Chrome (v 65) DevTools 未打开时才会发生这种情况。有没有人注意到同样的现象,有没有人知道为什么会这样?
部分请求:
bodyUsed: false,
cache: "only-if-cached",
credentials: "include",
destination: "unknown",
headers: Headers {},
integrity: "",
method: "GET",
mode: "no-cors",
redirect: "follow",
referrer: "",
referrerPolicy: "no-referrer-when-downgrade",
url: "https://example.com/path/to/app-name/#!
我们是这样处理这个问题的,但恐怕这样不合适。
serviceWorkerGlobal.addEventListener('fetch', function(event)
{
if (event.request.cache === 'only-if-cached' && event.request.mode !== 'same-origin') {
var oStrangeRequest = event.request.clone();
console.log('Fetch. Request cache has only-if-cached, but not same-origin.',
oStrangeRequest.cache, oStrangeRequest.mode,
'request redirect:',
oStrangeRequest.redirect, oStrangeRequest.url, oStrangeRequest);
return;
}
// ...
});
这是一个错误。您可以在此处查看修复进度:https://bugs.chromium.org/p/chromium/issues/detail?id=823392