<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>PWA Install Button</title> </head> <body> <button id="installBtn" style="display: none;">安装PWA</button> <script> let deferredPrompt; window.addEventListener('beforeinstallprompt', (event) => { // 阻止默认行为 event.preventDefault(); // 保存事件,稍后触发安装 deferredPrompt = event; // 显示自定义安装按钮 document.getElementById('installBtn').style.display = 'block'; }); // 监听按钮点击事件 document.getElementById('installBtn').addEventListener('click', () => { if (deferredPrompt) { // 触发PWA安装 deferredPrompt.prompt(); // 监听安装结果 deferredPrompt.userChoice.then((choiceResult) => { if (choiceResult.outcome === 'accepted') { console.log('用户安装了PWA'); } else { console.log('用户拒绝安装PWA'); } // 重置事件 deferredPrompt = null; }); } }); </script> </body> </html>
网友回复