PWA - сервисный работник JS в подкаталоге - PullRequest
0 голосов
/ 01 октября 2019

Я пытался поместить мой файл sw.js в подкаталог, а не в корневой каталог. Но затем я получаю сообщение об ошибке, в котором говорится, что сервисный работник не может быть установлен.

Действительно ли необходимо иметь этот файл в корневом каталоге или я просто что-то пропустил?

JS-Код:

if ('serviceWorker' in navigator) {

    navigator.serviceWorker.register('/js/pwa/sw.js', { scope: '/js/pwa' }).then(function(reg) {
        console.log('Successfully registered. Scope is ' + reg.scope);
    }).catch(function(error) {
        console.log('Registering failed ' + error);
    });
} else {
    console.log('Service worker can not be registered on this device');
}

1 Ответ

2 голосов
/ 01 октября 2019

Если я сделал то же самое, я получил следующую ошибку

Registering failed SecurityError: Failed to register a ServiceWorker: The path of the provided scope ('/js/pwa') is not under the max scope allowed ('/js/pwa/'). Adjust the scope, move the Service Worker script, or use the Service-Worker-Allowed HTTP header to allow the scope.

Следующие части показались странными

{ scope: '/js/pwa' }

Пожалуйста, сделайте следующее

{ scope: '/js/pwa/' }
...