Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在htaccess受保护的目录中使用service workers?_Javascript_Apache_.htaccess_Service Worker_Http Status Code 401 - Fatal编程技术网

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;
    }
这应该会有帮助