BeforeInstallPromptEvent
Экспериментально: Это экспериментальная технология .
Перед использованием в продакшене внимательно изучите таблицу совместимости с браузерами.
Нестандартно: Эта функция нестандартна и не соответствует стандартам. Не используйте её на сайтах, ориентированных на веб, в продакшене: она не будет работать для всех пользователей. Также могут быть значительные несовместимости между реализациями, и поведение может измениться в будущем.
Интерфейс BeforeInstallPromptEvent — интерфейс события beforeinstallprompt, срабатывающего в объекте Window перед тем, как пользователя попросят добавить сайт в закладки на мобильном устройстве.
Этот интерфейс наследуется от интерфейса Event.
Конструктор
-
BeforeInstallPromptEvent()Нестандартно Экспериментально -
Создаёт новый объект
BeforeInstallPromptEvent.
Свойства экземпляра
Наследует свойства от родительского класса Event.
-
BeforeInstallPromptEvent.platformsТолько для чтения Нестандартно Экспериментально -
Возвращает массив строковых значений, содержащих платформы, на которых было вызвано событие. Это предоставляется для агентов пользователя, которые хотят предоставить пользователю выбор версий, например, «web» или «play», что позволит пользователю выбрать между веб-версией или версией Android.
-
BeforeInstallPromptEvent.userChoiceТолько для чтения Нестандартно Экспериментально -
Возвращает
Promise, который разрешается до объекта, описывающего выбор пользователя при запросе установки приложения.
Методы экземпляра
-
BeforeInstallPromptEvent.prompt()Нестандартно Экспериментально -
Отображает запрос пользователя о желании установить приложение. Этот метод возвращает
Promise, который разрешается до объекта, описывающего выбор пользователя при запросе установки приложения.
Примеры
В следующем примере приложение предоставляет собственную кнопку установки, которая имеет id "install". Изначально кнопка скрыта.
<button id="install" hidden>Install</button>
Обработчик beforeinstallprompt:
- Отменяет событие, что предотвращает отображение браузером собственного пользовательского интерфейса установки на некоторых платформах
- Присваивает объект
BeforeInstallPromptEventпеременной, чтобы он мог быть использован позже - Отображает кнопку установки приложения.
let installPrompt = null;
const installButton = document.querySelector("#install");
window.addEventListener("beforeinstallprompt", (event) => {
event.preventDefault();
installPrompt = event;
installButton.removeAttribute("hidden");
});
При нажатии кнопки установки приложения:
- Вызывает метод
prompt()сохранённого объекта события для запуска запроса установки. - Сбрасывает состояние, очищая переменную
installPromptи снова скрывая её.
installButton.addEventListener("click", async () => {
if (!installPrompt) {
return;
}
const result = await installPrompt.prompt();
console.log(`Install prompt was: ${result.outcome}`);
installPrompt = null;
installButton.setAttribute("hidden", "");
});
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
BeforeInstallPromptEvent |
44 | 79 | Нет | 31 | Нет | 44 | Нет | 32 | Нет | 5.0 | 44 |
BeforeInstallPromptEvent |
44 | 79 | Нет | 31 | Нет | 44 | Нет | 32 | Нет | 5.0 | 44 |
platforms |
44 | 79 | Нет | 31 | Нет | 44 | Нет | 32 | Нет | 5.0 | 44 |
prompt |
7644–76Разрешается пустым обещанием. |
79 | Нет | 6331–63Разрешается пустым обещанием. |
Нет | 7644–76Разрешается пустым обещанием. |
Нет | 5432–54Разрешается пустым обещанием. |
Нет | 5.0 | 7644–76Разрешается пустым обещанием. |
userChoice |
44 | 79 | Нет | 31 | Нет | 44 | Нет | 32 | Нет | 5.0 | 44 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/BeforeInstallPromptEvent