我一直在尝试在 IIS 托管网站中使用服务工作者来缓存网站的一些静态内容。该站点是使用 Windows 身份验证的内部应用程序。我已经能够毫不费力地注册和运行服务工作者,但是一旦我打开缓存并开始将文件添加到缓存中,promise 就会因授权失败而失败。返回的 HTTP 结果是 401 Unauthorized。这是前几个请求的通常响应,直到浏览器和服务器能够协商授权。
我将很快发布一些有助于解释的代码。
编辑
var staticCacheName = 'app-static-v1';
console.log("I AM ALIVE");
this.addEventListener('install', function (event) {
console.log("AND I INSTALLED!!!!");
var urlsToCache = [
//...many js files to cache
'/scripts/numeral.min.js?version=2.2.0',
'/scripts/require.js',
'/scripts/text.js?version=2.2.0',
'/scripts/toastr.min.js?version=2.2.0',
];
event.waitUntil(
caches.open(staticCacheName).then(function (cache) {
cache.addAll(urlsToCache);
}).catch(function (error) {
console.log(error);
})
);
});