与其他正常的 PWA 安装问题相比,我的情况有点奇怪。我使用 LightHouse 审核了我的代码,尽管我看不到该选项,但它给了一切绿色
“可以提示用户安装 Web 应用程序”。
我在 React 中为我的 PWA 应用程序的自定义提示编写了一些代码。它是这样的
在 app.js 文件中的 componentDidMount 方法中
componentDidMount(){
window.addEventListener('beforeinstallprompt',e =>{
// For older browsers
e.preventDefault();
console.log("Install Prompt fired");
this.installPrompt = e;
// See if the app is already installed, in that case, do nothing
if((window.matchMedia && window.matchMedia('(display-mode: standalone)').matches) || window.navigator.standalone === true){
return false;
}
// Set the state variable to make button visible
this.setState({
isModalOpen:true
})
})
}
使用状态isModalOpen我可以在普通桌面浏览器中向用户显示自定义提示。但是当我在移动浏览器上运行相同的东西时,这个 beforeinstallprompt 不会被触发。我试过了
iOS 中的 Safari 浏览器 iOS 中的 Chrome 浏览器
Android 中的 Chrome 浏览器
任何人都可以指导我了解我可能会缺少什么。或者如果有人遇到过这样的问题