【问题标题】:Set start_url in web app manifest based on the URL that was added to homescreen根据添加到主屏幕的 URL 在 Web 应用程序清单中设置 start_url
【发布时间】:2017-01-22 13:30:30
【问题描述】:

我的网站有几个小节。当用户将网站添加到他们的主屏幕时,我想确保主屏幕图标将他们启动到他们添加到主屏幕时所在的子部分。

我可以为每个小节注册不同的清单,但这不适用于没有页面重新加载的单页面应用程序。我正在考虑将小节存储在 cookie 中,然后从基于该 cookie 的通用起始 URL 重定向。

有没有更好的方法来做到这一点?

【问题讨论】:

  • 您是否尝试过实施您的建议?还要检查深层链接是否可以帮助您解决此问题。

标签: progressive-web-apps


【解决方案1】:

一个解决方案是每个页面都有一个单独的清单,其中包含特定于每个页面的属性 start_url。

【讨论】:

    【解决方案2】:

    如果您从 ma​​nifest.json 文件中删除 start_url,那么它将默认为用户在将 pwa 应用程序添加到主屏幕时正在浏览的页面。 参考:https://developers.google.com/web/tools/lighthouse/audits/manifest-contains-start_url

    【讨论】:

    • 这行得通,但是你不会得到“添加到主屏幕”弹出窗口,因为 start_url 是要求之一。
    • 接下来的坏事是,当您使用 chrome 工具检查清单时,它是无效的
    【解决方案3】:

    当用户在不同的小节之间导航时,您是否尝试过更改 Web 应用清单 url?

    document.querySelector('link[rel=manifest]').href = '/example-manifest.json';
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-17
      • 2013-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-01
      • 2018-05-22
      • 2011-12-28
      相关资源
      最近更新 更多