Я тестирую serviceWorker в соответствии с "https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers"
Мой компьютер с Ubuntu 18.04, apache2 v2.4.29, firefox 69.0.1
Я видел, что serviceWorker работает только на доменах HTTPS, нотакже для тестирования на порту 80 и локальном хосте.
Я тестирую его на одном из моих тестовых доменов, outilsrouteur.test, который /etc/apache2/sites-available/outilsrouteur.test.conf имеет вид:
<VirtualHost *:80>
ServerName outilsrouteur.test
ServerAlias www.outilsrouteur.test
DocumentRoot ***/siteoutilsrouteur // *** = my real directory
<Directory ***/siteoutilsrouteur> // *** = my real directory
DirectoryIndex index.html index.php
Options SymLinksIfOwnerMatch
AllowOverride all
Require local
</Directory>
ErrorLog ***/siteoutilsrouteur/error.log.txt
CustomLog /access.log combined
</VirtualHost>
и т. Д. / Apache2 / port.conf:
Listen 80
Я едва изменил app.js как:
console.log("===================\napp.js :\n\n"); //****
if ('serviceWorker' in navigator) {
console.log("serviceWorker existe");
navigator.serviceWorker.register('./sw-test/sw.js', {scope: './sw-test/'})
.then((reg) => {
// registration worked
console.log('Registration succeeded. Scope is ' + reg.scope);
}).catch((error) => {
// registration failed
console.log('Registration failed with ' + error);
});
} else { //****
console.log("serviceWorker n'existe pas / doesn't exist : '"+location.port+"'"); //****
}
Я думал, что моя ЛАМПА работаетпрослушивающий порт 80, но, когда я вызываю свою тестовую страницу (первый шаг):
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width">
<title>SW map</title>
<body>
<h1>Pour voir</h1>
<section></section>
<script src="app.js"></script>
</body>
</html>
консоль показывает следующие сообщения:
===================
app.js :
app.js:1:9
serviceWorker n'existe pas / doesn't exist : ''
Итак, мой тестовый прогон, но порт местоположения не 80, и сервисный работник не существует ...
Не могли бы вы показать мне мою ошибку (я)?