Spaces:
Sleeping
Sleeping
| // 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'; | |
| }); | |
| */ | |
| }); |