Spaces:
Running
Running
File size: 2,020 Bytes
7d3a75b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
// Vérifier si le navigateur prend en charge les Service Workers
if ('serviceWorker' in navigator) {
window.addEventListener('load', function() {
navigator.serviceWorker.register('/static/js/service-worker.js')
.then(function(registration) {
console.log('Service Worker enregistré avec succès:', registration.scope);
})
.catch(function(error) {
console.log('Échec de l\'enregistrement du Service Worker:', error);
});
});
}
// Gestion des événements d'installation de PWA
let deferredPrompt;
window.addEventListener('beforeinstallprompt', (e) => {
// Empêcher Chrome 67 et versions ultérieures d'afficher automatiquement l'invite
e.preventDefault();
// Stocker l'événement pour l'utiliser plus tard
deferredPrompt = e;
// Vous pouvez ajouter ici un bouton ou une bannière pour suggérer l'installation
// Par exemple :
/*
const installBanner = document.createElement('div');
installBanner.id = 'install-banner';
installBanner.innerHTML = `
<p>Installez Mariam AI sur votre appareil!</p>
<button id="install-button">Installer</button>
<button id="close-banner">✕</button>
`;
document.body.appendChild(installBanner);
document.getElementById('install-button').addEventListener('click', (e) => {
// Afficher l'invite d'installation
deferredPrompt.prompt();
// Attendre que l'utilisateur réponde à l'invite
deferredPrompt.userChoice.then((choiceResult) => {
if (choiceResult.outcome === 'accepted') {
console.log('L\'utilisateur a accepté l\'installation');
} else {
console.log('L\'utilisateur a refusé l\'installation');
}
// Réinitialiser la variable car on ne peut utiliser l'événement qu'une fois
deferredPrompt = null;
// Cacher la bannière
installBanner.style.display = 'none';
});
});
document.getElementById('close-banner').addEventListener('click', (e) => {
installBanner.style.display = 'none';
});
*/
}); |