[英]Service worker in multi virtual directories site
我很難理解服務人員的行為。 我的域的根目錄中有一個Angular漸進式Web應用程序。 此文件夾包含所有JavaScript文件。 然后,每個我的客戶端都有一個子文件夾,其中包含index.html文件,manifest.json和一些與此客戶端相關的圖像。 因此,索引文件指向父文件夾中的JavaScript文件。
現在,我想要一個服務工作者,該服務工作者將JavaScript文件緩存在根目錄中,並將索引文件緩存在每個子文件夾中。
目前,我已經將服務工作者放在根目錄中,但是對於每個客戶端,它將緩存我不想使用的所有其他客戶端文件。 每當我需要創建新的子文件夾時,都必須在根目錄中更新服務工作者。 有沒有辦法像多個服務人員一樣,每個子文件夾一個? (我知道它無法獲取父目錄中的文件)
是的,您可以通過指定option scope
來為多個路徑注冊多個服務工作者。
navigator.serviceWorker.register('/sw.js', {
scope: '/path/to/folder1'
}).then(function(registration) {
console.log('Service worker registration succeeded. This service worker will catch all http requests under /path/to/folder1');
});
navigator.serviceWorker.register('/sw.js', {
scope: '/path/to/folder2'
}).then(function(registration) {
console.log('Service worker registration succeeded. This service worker will catch all http requests under /path/to/folder2');
});
相關的MDN文章。
https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerContainer/register
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.