javascript - 三星 Internet beforeinstallprompt event.userChoice 不工作
问题描述
我正在三星互联网上测试我使用 Angular 8 创建的 PWA,但在测试过程中,我发现我的自定义 PWA 横幅即使在安装完成后也没有被关闭。这是我用来处理 PWA 安装的代码。
window.addEventListener('beforeinstallprompt', (e) => {
e.preventDefault();
// save it to a variable to be called later
this.deferredAlert = e;
// custom code for PWA banner
});
// When needed I call the prompt() function and listen for user choice
this.deferredAlert.prompt();
this.deferredAlert.userChoice
.then((choiceResult) => {
// cleanup for custom banner
console.log(choiceResult);
})
.catch(console.error);
此方法在 chrome 中运行良好。调试时我发现 userChoice 承诺没有返回任何数据。有没有办法让它在三星互联网上运行?
现在我能想到的唯一解决方案是使用 userAgent 检查三星互联网浏览器,然后在单击安装按钮时清理自定义横幅。但是如果用户单击取消而不是安装,则此实现不起作用。
解决方案
推荐阅读
- excel - 为 VBA 宏创建字典对象时遇到问题
- android - 我可以通过 AWS 接收 Android 推送通知吗?
- razor - Blazor/Razor:带枚举的 InputSelect?
- javascript - 枚举与字符串文字最佳实践
- python - QTabWidget 不允许我使用自定义类
- javascript - 如何单击下载页面 chrome 中的保留按钮
- python - 嵌套列表的元素总和
- npm - 无法删除赛普拉斯代理设置
- python - 在heroku上部署我的应用程序时出现webbrowser模块错误
- spring - Spring Email:必须先发出 STARTTLS 命令