Javascript 如何有选择地禁用特定URL的Angular service worker?
我有以下Angular Service Worker配置文件:Javascript 如何有选择地禁用特定URL的Angular service worker?,javascript,angular,redirect,service-worker,Javascript,Angular,Redirect,Service Worker,我有以下Angular Service Worker配置文件: { "index": "/index.html", "dataGroups": [ // some data API specific caching strategies follow ], "assetGroups": [ { "name": "app", "installMode": "prefetch", "resources": {
{
"index": "/index.html",
"dataGroups": [
// some data API specific caching strategies follow
],
"assetGroups": [
{
"name": "app",
"installMode": "prefetch",
"resources": {
"files": [
"/favicon.ico",
"/index.html",
"/*.css",
"/*.js",
"/*.map"
]
}
},
{
"name": "assets",
"installMode": "lazy",
"updateMode": "prefetch",
"resources": {
"files": [
"/assets/**",
"/*.(eot|svg|cur|jpg|png|webp|gif|otf|ttf|woff|woff2|ani)"
]
}
}
]
}
一般来说,它工作得很好
然而,在登录阶段,我们有一些重定向-服务器返回302,其中包含一些身份验证代码的位置头。问题是,浏览器似乎默默地吞下了响应,并将其转换为200。我看到Chrome网络工具显示的是状态代码:200(来自ServiceWorker)
而不是状态代码:302
。这完全破坏了身份验证流程,用户陷入了刷新循环
不幸的是,我无法完全控制被请求的URL,也无法截获响应——这一切都是由第三方库执行的
我想以某种方式告诉Angular和浏览器,将某些特定http请求视为服务工作者不可服务的请求,本质上是让它们像旧的普通http请求一样工作—就好像根本没有安装服务工作者一样,或者就好像请求被发送到另一个域一样
是否有任何设置可以完全禁用特定URL的service worker?正确的方法是什么?