如何解决如何在应用内浏览器中使用“beforeinstallprompt”
我需要能够从应用内 Instagram 浏览器(仅限 Android)安装 PWA。 我了解应用内浏览器使用标准浏览器 文档说支持 AndroidWebview,但实际上它对我不起作用。 Lighthouse - 确认 PWA 中没有错误 我附上代码
let deferredPrompt;
const addBtn = document.querySelector('.add-button');
addBtn.style.display = 'none';
window.addEventListener('load',(e) => {
if ('serviceWorker' in navigator){
navigator.serviceWorker.register('./sw.js')
.then(registration => {
console.log('Service worker successfully registered',registration);
})
.catch(error => {
console.log('Service worker registration Failed',error);
});
}
});
window.addEventListener('beforeinstallprompt',(e) => {
e.preventDefault();
deferredPrompt = e;
addBtn.style.display = 'block';
addBtn.addEventListener('click',() => {
// hide our user interface that shows our A2HS button
addBtn.style.display = 'none';
// Show the prompt
deferredPrompt.prompt();
// Wait for the user to respond to the prompt
deferredPrompt.userChoice.then((choiceResult) => {
if (choiceResult.outcome === 'accepted') {
console.log('User accepted the A2HS prompt');
} else {
console.log('User dismissed the A2HS prompt');
}
deferredPrompt = null;
});
});
});
解决方法
遗憾的是,除非您在 WebView 中做一些额外的工作,否则 Android WebView 不支持 beforeinstallprompt
事件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。