serviceWorker на LAMP не существует - PullRequest
0 голосов
/ 28 сентября 2019

Я тестирую 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, и сервисный работник не существует ...

Не могли бы вы показать мне мою ошибку (я)?

1 Ответ

0 голосов
/ 28 сентября 2019

Хорошо, внизу страницы mdn:

При тестировании вы можете обойти ограничение HTTPS, отметив опцию «Включить сервисных рабочих по HTTP (когда панель инструментов открыта)» в FirefoxНастройки инструментов разработчика.

Работает.

...