【问题标题】:Save Multiple Progressive Web Apps to Home screen from one website从一个网站将多个渐进式 Web 应用程序保存到主屏幕
【发布时间】:2018-04-12 21:27:32
【问题描述】:

我正在构建一个网站,我希望能够让不同的子文件夹充当单独的 PWA,并分别保存到主屏幕。例如

PWA #1 - 专为客户 #1 打造

~/ClientOne/ClientOnePWA.html

~/ClientOne/serviceworker.js

~/ClientOne/manifest.json

PWA #2 - 专为其他客户打造

~/OtherClient/OtherClientPWA.html

~/OtherClient/serviceworker.js

~/OtherClient/manifest.json

我的问题是:有没有办法让这两个并排存在于同一个 android 主屏幕上?

我曾认为,由于 service worker 和 manifests 在一个单独的范围内,它会将它们视为单独的 Web 应用程序,但现在它正在将它们视为一个大应用程序(我真的希望它们对我们的业务用例)。

目前我可以将客户端 One 的 PWA 添加到 Android 设备的主屏幕,但是当我转到“OtherClientPWA.html”时,我无法将其添加到主屏幕。相反,它为我提供了“Open Client One PWA”选项,其中“添加到主屏幕”应位于 chrome 菜单上。

提前感谢您的任何见解!

【问题讨论】:

    标签: android google-chrome progressive-web-apps


    【解决方案1】:

    尝试为您的 app1 和 app2 添加两个子域别名,如下所示。

    App1.mydomain.com App2.mydomain.com

    这可以路由到你的客户端1和你服务器端的其他客户端。这将有助于以更清洁的方式维护两个应用程序,并且服务人员将其视为两个不同的应用程序。这将有助于保持两个不同的图标同时启动。

    【讨论】:

    • 实现了这一点,服务工作者被沙盒化了。正如你所说,架构现在也应该更干净一些。谢谢!
    • 很高兴它有帮助:)
    • Service Worker 必须与请求页面属于同一来源,并且清单 start_url 必须相对于来源这一事实如何?
    • @jeboy 是的.. 起始 URL 是相对的。不应该有完整的域。就像 index.html 一样。只是示例,除非您想维护两个不同的基本 URL。
    • 这是 Chrome 浏览器的标准限制还是当前限制?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-14
    • 2016-09-18
    相关资源
    最近更新 更多