Как предотвратить повторный запрос команды "Добавить на главный экран" pwa в www-версии сайта?

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

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


person Abhimanyu Sharma    schedule 20.05.2019    source источник


Ответы (2)


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

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

Пример:

if (window.location.host.startsWith('www.') {
    const manifestLink = document.querySelector("link[rel='manifest']")
    manifestLink.parentNode.removeChild(manifestLink)
}
person mattemyo    schedule 20.05.2019
comment
Поправьте меня, если я ошибаюсь, но это приведет к тому, что субдомен www вообще не будет предлагать установку pwa? - person Erndob; 22.05.2019
comment
Верно. Тогда я думаю, что лучший вариант - последовать предложению @erndob - person mattemyo; 22.05.2019

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

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

person Erndob    schedule 20.05.2019