【问题标题】:How to prevent Add to home screen pwa from prompting again on www version of the site?如何防止添加到主屏幕 pwa 在网站的 www 版本上再次提示?
【发布时间】:2019-05-20 18:09:41
【问题描述】:

我可以在我的网站 example.com 上获得添加到主屏幕弹出窗口,但是当我使用 www.example.com 打开我的网站时,我再次获得弹出窗口,然后单击添加,它再次将 wpa 添加到主屏幕。

我怎样才能防止这种情况发生,因为同一网站有两个 wpa 图标没用?

【问题讨论】:

    标签: javascript json service-worker progressive-web-apps manifest.json


    【解决方案1】:

    最简单的选择是将 www 调用重定向到非 www 调用。所以用户实际上永远不会停留在那个不同的子域中。

    如果由于某种原因您不能这样做,在安装 PWA 时,您可以保存一个跨子域 cookie,只是为了设置用户安装 PWA 的“标志”。然后,在你的代码中你监听beforeinstallpromptevent,如果cookie存在就不要提示安装。

    【讨论】:

      【解决方案2】:

      当用户访问www站点时,您可以添加一些 JavaScript 代码来删除以下标记。

      <link rel="manifest" href="/manifest.json">

      例子:

      if (window.location.host.startsWith('www.') {
          const manifestLink = document.querySelector("link[rel='manifest']")
          manifestLink.parentNode.removeChild(manifestLink)
      }
      

      【讨论】:

      • 如果我错了,请纠正我,但这会使 www 子域根本不建议安装 pwa?
      • 没错。那么我想最好的选择是遵循@erndob 的建议
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-26
      • 2021-05-13
      • 1970-01-01
      • 2018-09-11
      • 2020-09-28
      • 2017-11-07
      相关资源
      最近更新 更多