message pour firefox
This commit is contained in:
@@ -4,28 +4,38 @@
|
||||
|
||||
let deferredPrompt;
|
||||
const installBtn = document.getElementById('installBtn');
|
||||
const isFirefox = typeof InstallTrigger !== 'undefined';
|
||||
|
||||
window.addEventListener('beforeinstallprompt', (e) => {
|
||||
// Empêche Chrome d'afficher sa propre mini-barre
|
||||
e.preventDefault();
|
||||
// Stocke l'événement pour l'utiliser plus tard
|
||||
deferredPrompt = e;
|
||||
// Affiche votre bouton personnalisé
|
||||
installBtn.style.display = 'block';
|
||||
// Empêche Chrome d'afficher sa propre mini-barre
|
||||
e.preventDefault();
|
||||
// Stocke l'événement pour l'utiliser plus tard
|
||||
deferredPrompt = e;
|
||||
// Affiche votre bouton personnalisé
|
||||
installBtn.style.display = 'block';
|
||||
|
||||
installBtn.addEventListener('click', async () => {
|
||||
if (deferredPrompt) {
|
||||
// Montre la fenêtre d'installation native
|
||||
deferredPrompt.prompt();
|
||||
// Attend la réponse de l'utilisateur
|
||||
const { outcome } = await deferredPrompt.userChoice;
|
||||
console.log(`L'utilisateur a répondu : ${outcome}`);
|
||||
// On nettoie
|
||||
deferredPrompt = null;
|
||||
installBtn.style.display = 'none';
|
||||
installBtn.addEventListener('click', async () => {
|
||||
if (deferredPrompt) {
|
||||
// Montre la fenêtre d'installation native
|
||||
deferredPrompt.prompt();
|
||||
// Attend la réponse de l'utilisateur
|
||||
const { outcome } = await deferredPrompt.userChoice;
|
||||
console.log(`L'utilisateur a répondu : ${outcome}`);
|
||||
// On nettoie
|
||||
deferredPrompt = null;
|
||||
installBtn.style.display = 'none';
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
if (isFirefox && !window.matchMedia('(display-mode: standalone)').matches) {
|
||||
// On peut par exemple afficher un petit texte dans le header
|
||||
const infoZone = document.getElementById('app-version'); // On utilise la zone de version
|
||||
if (infoZone) {
|
||||
infoZone.innerHTML += " <br><small>(Install. non dispo sur Firefox PC)</small>";
|
||||
infoZone.style.color = "#ff8800"; // Orange pour attirer l'oeil gentiment
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// Cache le bouton si l'app est déjà installée
|
||||
window.addEventListener('appinstalled', () => {
|
||||
@@ -196,6 +206,7 @@
|
||||
init();
|
||||
|
||||
if ('serviceWorker' in navigator) {
|
||||
navigator.serviceWorker.register('sw.js')
|
||||
.then(() => console.log("Service Worker Enregistré"));
|
||||
}
|
||||
navigator.serviceWorker.register('sw.js')
|
||||
.then(() => console.log("Service Worker Enregistré"));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user