【问题标题】:PWA: Address bar showing up when redirectioning to subdomainsPWA:重定向到子域时显示地址栏
【发布时间】:2019-02-07 18:59:30
【问题描述】:

我有一个有时会使用子域的 PWA。当应用程序重定向到另一个子域时,我发现的问题会发生:地址栏出现。这会影响类似应用的体验。

有人知道使用子域时隐藏地址栏的解决方案吗?

【问题讨论】:

  • 这(在您更改来源时显示地址)是一种防止网络钓鱼攻击的安全功能,您将无能为力比不使用不同的子域.
  • 有没有办法验证不同的子域?它没有重定向到不同的域,我理解安全问题,但我猜重定向保持相同的环境(域)。
  • 您可以尝试在 ServiceWorker 响应中添加“Service-Worker-Allowed”标头。 medium.com/dev-channel/…

标签: javascript progressive-web-apps


【解决方案1】:

在重定向到子域时,我也遇到了类似的问题。当 PWA 未正确设置为像应用程序一样运行时,通常会显示地址栏。在我的情况下,manifest.json 在重定向后没有正确加载。

这个链接也可能有用 - Chrome PWA

【讨论】:

    【解决方案2】:

    我找到了一篇关于此的博客文章

    1. https://blog.hackages.io/migrating-a-service-worker-from-an-old-domain-to-your-new-domain-69236418051c
    2. https://github.com/0xClpz/migrating-service-workers-from-an-old-domain

    这是一篇较旧的帖子,我无法在 Chrome 81 Android 10 上复制他们 2020 年的结果

    假设您需要将您的应用从 old-domain.com 迁移到 new-domain.com

    您出于 SEO 原因进行 301 重定向。一切正常,对于新用户和未将 pwa 安装到主屏幕的用户来说一切正常。

    当您尝试打开旧安装的 pwa 时,它会看到重定向到 new-domain.com。这就是触发地址栏的原因。它会在 pwa 中打开一个新窗口,因为域不同。就像您在某个本地应用程序中并尝试通过 facebook 或 github 登录一样。

    已安装的 pwa 从不尝试加载 sw.js,它只是用于重定向,不会让您有机会拦截任何内容。


    对于新用户,当他们访问 new-domain.com 时,它会为他们提供通常的 pwa 添加到主屏幕提示。

    如果偶然,一些新用户访问old-domain.com,他们会被重定向到new-domain.com,并获得new-domain.com提供的pwa体验


    我不确定解决方案会是什么样子。

    如果请求来自旧安装的 pwa,我一直在考虑检测服务器端,并向他们展示一些精心设计的页面,指示他们从主屏幕中删除旧 pwa,然后访问新域...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-19
      • 2021-04-24
      • 1970-01-01
      • 2015-04-23
      • 1970-01-01
      • 2015-10-12
      • 1970-01-01
      • 2019-08-23
      相关资源
      最近更新 更多