gpt4 book ai didi

service-worker - 禁用子目录的 Service Worker

转载 作者:行者123 更新时间:2023-12-02 02:52:34 27 4
gpt4 key购买 nike

我有一个 Web 应用程序,其中有一个在域的根级别注册的服务 worker 。它提供了基本的离线功能。

我不希望服务人员在请求特定子目录时参与,例如/例子/

我可以在 service worker 中添加这个检查,但是是否可以完全禁用特定路径的 service worker?

或者从子目录设置另一个 worker ,以便它覆盖第一个?

最佳答案

所以默认情况下 SW 范围是全局的。但从这个引用来看

https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerContainer/register

应该可以使用 scope 选项来限制 service worker 的范围以缩小它。但不是在您可以限制子文件夹的意义上。您需要将该子文件夹移出 Service Worker 范围。

IE:您在主目录中移动有问题的文件夹,然后在 ./website 位置移动所有其他文件夹。

if ('serviceWorker' in navigator) {
// Register a service worker hosted at the root of the
// site using a more restrictive scope.
navigator.serviceWorker.register('/sw.js', {scope: './website'}).then(function(registration) {
console.log('Service worker registration succeeded:', registration);
}, /*catch*/ function(error) {
console.log('Service worker registration failed:', error);
});
} else {
console.log('Service workers are not supported.');
}

如果这没有帮助,我想到的唯一选择就是你提到的那个。

关于service-worker - 禁用子目录的 Service Worker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51423671/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com