Javascript 如何在htaccess受保护的目录中使用service workers?
我在试一些基本的服务人员。服务人员第一次注册时,服务人员本身将正常工作。我经常遇到的问题是,如果此人将来(例如第二天)再次访问该网站,并试图访问Javascript 如何在htaccess受保护的目录中使用service workers?,javascript,apache,.htaccess,service-worker,http-status-code-401,Javascript,Apache,.htaccess,Service Worker,Http Status Code 401,我在试一些基本的服务人员。服务人员第一次注册时,服务人员本身将正常工作。我经常遇到的问题是,如果此人将来(例如第二天)再次访问该网站,并试图访问.htaccess/.htpasswd受保护的目录。他们没有像往常一样进入对话框,而是直接进入401错误 这就是我在HTML中的脚本标记中注册service worker的方式 if ('serviceWorker' in navigator) { window.addEventListener('load', function() { na
.htaccess
/.htpasswd
受保护的目录。他们没有像往常一样进入对话框,而是直接进入401错误
这就是我在HTML中的脚本标记中注册service worker的方式
if ('serviceWorker' in navigator) {
window.addEventListener('load', function() {
navigator.serviceWorker.register('/sw.js').then(function(registration) {
// Registration was successful
console.log('ServiceWorker registration successful with scope: ', registration.scope);
}, function(err) {
// registration failed :(
console.log('ServiceWorker registration failed: ', err);
});
});
}
我在sw.js
本身中尝试了几种不同的方法,每次都会出现相同的错误。这是一个来自谷歌airhorner的例子,我相信
self.addEventListener('install', e => {
const timeStamp = Date.now();
e.waitUntil(
caches.open('somename').then(cache => {
return cache.addAll([
`/`,
`/index.html`,
`/css/tour-2.css`
])
.then(() => self.skipWaiting());
})
);
});
self.addEventListener('activate', event => {
event.waitUntil(self.clients.claim());
});
self.addEventListener('fetch', event => {
event.respondWith(
caches.match(event.request, {ignoreSearch: true}).then(response => {
return response || fetch(event.request);
})
);
});
是否有人知道是否可以将服务人员用于具有.htaccess
受保护目录的网站
谢谢。一种治疗方法是:
self.addEventListener('fetch', event => {
// Exclude admin panel.
if (0 === event.request.url.indexOf("https://www.my-site.com/my-protected-area")) {
return;
}
这应该会有帮助