问题描述
我们正在通过从自定义端点加载清单和服务工作者将 SAP Fiori 启动板转换为 PWA。实际服务器(SAP 网关)由多个客户端(~租户)组成,我们使用 Web 调度程序(反向代理),允许用户通过将 HTTPS 端口映射到网关客户端来访问客户端特定的启动板。应用因客户端而异。
目标:为每个网关客户端提供单独的 PWA 安装。
问题:Android 上的 Chrome 在检查当前页面的 PWA 是否已安装(相同的源域)时会忽略端口。
示例:
实例 | 客户 | 主持人 | 页面网址 |
---|---|---|---|
开发 | 100 | dev.company.com:11443 | /sap/bc/.../FioriLaunchpad.html |
开发 | 200 | dev.company.com:21443 | /sap/bc/.../FioriLaunchpad.html |
假设我们为 dev.company.com:11443(客户端 100)安装启动板 PWA,然后访问 dev.company.com: 21443(客户端 200)在 Android 上使用 Chrome 启动板。 Chrome 认为该页面已安装,因为有一个为 dev.company.com:/sap/bc/.../FioriLaunchpad.html 注册的 PWA,尽管端口和客户端的来源 200页面不同。因此,无法为客户端 200 安装单独的 PWA。
根据我的理解,PWA 应该(不知何故)origin dependent。我错过了什么?有没有办法强制执行某种同源行为?顺便说一句,在 Windows 上使用 Chrome 可以正常工作。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)