Это объяснение на Stack Overflow содержит дополнительную информацию.
- Похоже, что PWA должны поддерживаться не только в Chrome. Я знаю, что установил PWA через Brave, значит, мой браузер точно его поддерживает.
- Событие
beforeinstallpromptсрабатывает только один раз: если пользователь отклонил его, оно исчезает. Видимо, чтобы не надоедать пользователю? - По-видимому, нет ручного способа активировать API «Установить как приложение».
Проверяет ли код Discourse конкретно наличие Chrome или реагирует на beforeinstallprompt в любом браузере? (Кажется, что проверка не зависит от браузера, см. ссылку на код ниже)
Это выглядит как оригинальное объявление о функции в Chrome. Похоже, что задумывалось возможность для разработчиков сохранять объект события и ненавязчиво показывать его пользователю. Если пользователь проигнорирует его, он должен появиться снова в следующий раз. Только если пользователь инициирует запрос и затем отменит его, событие должно быть отключено на некоторое время (например, на 3 месяца).
Код Discourse, отвечающий за это, однако, добавляет дополнительную проверку на то, был ли когда-либо отклонён баннер Discourse. Правильно ли я понимаю? Похоже, это упущенная возможность: мы могли бы снова показывать баннер, но сознательно этого не делаем. Что, если мы оставим это решение за администратором — хочет ли он показывать запрос в такой ситуации?