Web Push API: как лучше представить требуемые файлы JavaScript при переносе на сервер? - PullRequest
0 голосов
/ 21 декабря 2018

Я углубляюсь в новый PUSH API и могу зарегистрировать работника сервиса, как и ожидалось.Для этого я следую рецептам Mozilla .

Вообще говоря, вы создадите два файла javascript;один для сервисного работника, которого вы хотите зарегистрировать, и один для фактической регистрации - давайте вызовем этот index.js-, который в моем случае включает функцию registerWorker ().Я включил html-файл (скажем, push.html), который вызывает эту функцию при загрузке, чтобы браузер, который вызывает этот html-файл, регистрировал работника сервиса.Пока что все это прекрасно работает в среде разработки.

Проблемы начинаются, когда я хочу перенести это на свой сервер.Если я портирую сервис-работника и index.js на мой сервер (например, сервер Apache 2), я неожиданно получаю сообщение о том, что сервисный работник отсутствует в навигаторе.Я пробовал разные стратегии, но пока безуспешно.

Поэтому мой вопрос таков:Каков наилучший способ разместить необходимые файлы javascript на сервере для достижения вышеуказанного?

Редактировать:

Я добавлю ниже файл push.html:

<!doctype html>
<html>
<head>
  <meta charset="utf-8">
  <title>Simple Push Notification - ServiceWorker Cookbook</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body onload="registerServiceWorker(12)">
<script src="./js/index.js"></script>
</body>
</html>

Насколько я вижу, единственное отличие состоит в том, что я вызываю этот файл с локального хоста в среде разработчика и http://{myserver}:{myport}// с сервера.Я бы не ожидал какого-либо другого поведения, если, возможно, это не связано с требованиями SSL или фильтрами CORS ...

Редактировать 2:

ОК. Я нашел наиболее вероятную причину, основанную наэтот пост: Не могу найти serviceWorker в навигаторе

При размещении кода на сервере требуется поддержка https!

...