0

我们是否需要为浏览器添加以下事件以显示添加到屏幕图标。

window.addEventListener('beforeinstallprompt', (e) => {
      /* Prevent Chrome 67 and earlier from automatically showing the prompt*/
      e.preventDefault();
      // Stash the event so it can be triggered later.
      this.deferredPrompt = e;
      btnAdd.style.display = 'block';
    });

btnAdd.addEventListener('click', (e) => {
      // hide our user interface that shows our A2HS button
      btnAdd.style.display = 'none';
      // Show the prompt
      this.deferredPrompt.prompt();
      // Wait for the user to respond to the prompt
      this.deferredPrompt.userChoice
        .then((choiceResult) => {
          if (choiceResult.outcome === 'accepted') {
            console.log('User accepted the A2HS prompt');
          } else {
            console.log('User dismissed the A2HS prompt');
          }
          this.deferredPrompt = null;
        });
    });

我问这个问题是为了消除疑问,因为从 chrome 版本 68+ 下面的注释来自https://developers.google.com/web/fundamentals/app-install-banners/
注意:从 Chrome 68 开始(2018 年 6 月初测试版) , Chrome 不会自动显示添加到主屏幕横幅,相反,您可以通过使用用户手势在 beforeinstallprompt 事件上调用 prompt() 来显示它。有关完整详细信息,请参阅添加到主屏幕行为的更新。

此外,在 Mac OS 上,我无法使用开发人员工具删除/取消注册添加到应用程序的图标。提前致谢。

4

1 回答 1

0

这在当前版本的 Chrome 中按预期工作(在 Android 上测试)

Chrome Beta (68) 仍在进行中
有一个新的/临时的迷你信息栏,目前忽略 preventDefault()

从此页面
https://developers.google.com/web/updates/2018/06/a2hs-updates
“无论您是否在 preventDefault() beforeinstallprompt 事件与否。”

于 2018-06-18T13:02:16.500 回答