Angular和PWA

时间:2018-06-06 06:52:55

标签: angular pwa

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

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;
        });
    });

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

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

1 个答案:

答案 0 :(得分:0)

在当前版本的Chrome(在Android上测试)中可以正常运行

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

从这页开始 https://developers.google.com/web/updates/2018/06/a2hs-updates
"当网站符合添加到主屏幕标准时,无论您是否在beforeinstallprompt事件上阻止了默认(),都会显示迷你信息栏。"