Как не допустить повторного запроса pwa Добавить на главный экран на www-версии сайта? - PullRequest
0 голосов
/ 20 мая 2019

Я могу получить всплывающее окно «Добавить на главный экран» на своем сайте example.com, но когда я открываю свой сайт с помощью www.example.com, я снова получаю всплывающее окно и, нажимая на кнопку добавить, снова добавляет wpa в домашний экран.

Как я могу предотвратить это, поскольку бесполезно иметь две иконки wpa на одном веб-сайте?

Ответы [ 2 ]

3 голосов
/ 20 мая 2019

Самый простой вариант - просто перенаправить www-вызовы на не-www-вызовы. Таким образом, пользователи никогда не остаются в этом другом поддомене.

Если по какой-либо причине вы не можете этого сделать, при установке PWA вы можете сохранить межсубъектный файл cookie, просто чтобы установить «флажок», согласно которому пользователь установил PWA. Затем в своем коде вы слушаете событие beforeinstallprompt и не запрашиваете установку, если файл cookie существует.

0 голосов
/ 20 мая 2019

Вы можете добавить некоторый код JavaScript для удаления следующего тега при каждом посещении сайта www.

<link rel="manifest" href="/manifest.json">

Пример:

if (window.location.host.startsWith('www.') {
    const manifestLink = document.querySelector("link[rel='manifest']")
    manifestLink.parentNode.removeChild(manifestLink)
}
...