如何在应用重新打开时刷新 iOS 主屏幕 PWA

How can I refresh iOS homescreen PWA on app reopen

我创建了一个由 Google Chrome Lighthouse 审核工具验证的 PWA。在 Android 手机上显示本机 "Add to Homescreen" 提示,在 iOS 上显示自定义 "Add to Homescreen" 提示。

问题是在 iOS 上,PWA 保存了会话,我没有被重定向到 "start_url"。

我需要一个选项,以便在用户关闭应用程序并随后重新打开时始终将用户引导至 "start_url"。

以下是 PWA 文件:https://www.ta-systems.net/BE-Utilities/pwc/test/

我试过 PWA 文档中提到的,但是,我无法让应用程序每次重新启动时都刷新。

完整的代码可以在这里找到:https://www.ta-systems.net/BE-Utilities/pwc/test/

预期的结果应该是应用程序在 5 秒后重定向到另一个 HTML 页面,一旦应用程序关闭并重新启动,"start_url" 应该重新打开。

目前发生的情况如下:

  1. 我打开 "timesheet.html" 文档,系统提示我将 PWA 添加到主屏幕。
  2. 我将应用程序添加到主屏幕。
  3. 我从主屏幕打开应用程序,然后我被重定向到 "redirect.html"。
  4. 我关闭应用程序并重新打开它,但是 "start_url" (timesheet.html) 没有打开。
  5. 应用程序卡在 "redirect.html" 屏幕上。

您需要一个有效的 web Manifest 来指示 start_url 和其他键,清单上的 start_url 将指示页面上的应用程序在启动时启动。

您的 PWA 发生的情况是它在您关闭后保存了会话状态。从 iOS 12.2 开始,Apple 修复了 PWA,以便能够保持 PWA 会话状态。但是,Apple 仍然需要解决一个问题:无论您是最小化应用程序(通过转到主屏幕)还是关闭它(通过在应用程序切换模式上向上滑动),它都会保存状态。根据这篇文章 (https://wespeter.com/posts/ios13-pwa-improvements/) Apple 将在 iOS 13 中进行修复,以便在通过向上滑动强制退出后从头开始你的 PWA (start_url),并且仅在以下情况下保持状态最小化到主屏幕而不强制退出并重新打开。