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

时间:2019-07-31 13:31:25

标签: ios mobile-safari progressive-web-apps

我创建了一个PWA,并通过Google Chrome Lighthouse审核工具进行了验证。在Android手机上,将显示本机“添加到主屏幕”提示,在iOS上,将显示自定义的“添加到主屏幕”提示。

问题在于,在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”屏幕上。

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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