<!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>
网友回复


