Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
json
{
"name": "Ваше Приложение",
"short_name": "Приложение",
"start_url": "/",
"display": "standalone",
"background_color": "#ffffff",
"description": "Описание вашего приложения.",
"icons": [
{
"src": "/path-to-icon/icon-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/path-to-icon/icon-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
]
}
html
<link rel="manifest" href="/manifest.json">
javascript
self.addEventListener('fetch', function(event) {
// Можно оставить пустым или добавить обработку кэша
});
javascript
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/service-worker.js')
.then(function(registration) {
console.log('Service Worker зарегистрирован с областью:', registration.scope);
})
.catch(function(error) {
console.log('Регистрация Service Worker не удалась:', error);
});
}
javascript
let deferredPrompt;
window.addEventListener('beforeinstallprompt', (e) => {
e.preventDefault();
deferredPrompt = e;
// Показываем кнопку добавления на домашний экран
const addButton = document.getElementById('add-to-home-screen');
addButton.style.display = 'block';
addButton.addEventListener('click', (e) => {
// Скрываем кнопку
addButton.style.display = 'none';
// Показать предложение добавить на главный экран
deferredPrompt.prompt();
deferredPrompt.userChoice.then((choiceResult) => {
if (choiceResult.outcome === 'accepted') {
console.log('Пользователь добавил на главный экран');
} else {
console.log('Пользователь отказался добавить на главный экран');
}
deferredPrompt = null;
});
});
});