0

我正在开发PWA并在付款页面上遇到此问题。基本上是:防止PWA在访问时重新启动

方案1个

  1. 用户填写付款形式
  2. 点击提交,将被重定向到第三方支付页面 - 条纹(这将打开移动Chrome浏览器选项卡,而不能调整为打开桌面上的模式)
  3. 付款成功,第三方页面重定向到PWA,PWA会自动重新启动。

的问题是,我有一个无法显示,因为重新启动时,我失去了整个国家我是在一个成功页面。

方案2

  1. 用户填写付款表格
  2. 点击返回按钮/手机上的主页按钮
  3. 从桌面上,再次打开应用程序。有时候,应用会以前一个状态打开(填充表单),有时会重新启动,失去一切。

有什么我可以做的,以防止这种情况?我知道当你从桌面打开一个PWA图标时,你基本上会打开Chrome。但是,如果应用程序已经打开(并且它在最近的选项卡中仍然可见),我能做些什么来阻止它重新启动?我想手机会自动关闭它。

可能的解决办法:

的只有一件事我现在能想到的是存储localStorage的一切,并试图重新加载刷新。通过这种方式,我可以确保即使关闭并再次打开,我仍保持前一状态。

有趣的是,场景1(这让我非常困扰)只发生在三星Galaxy S7(测试6-7设备,直到现在,它是唯一一个它重现的)。 Chrome版本大部分都是相同的。

任何想法?谢谢!

回答

1

因此,保存到本地存储例程的工作。我传递给Stripe的回调函数被调用,但在PWA重新启动后立即被调用。

因此,我所做的就是将我的状态保存在localStorage中,回调中的第一件事情是标记为paymentInProgress,然后尝试调用服务器上的保存并显示成功页面。如果一切崩溃之间,应用程序重新启动,并在componentDidMount我检查localStorage数据和paymentInProgress === true标志。

我还好奇,如果有其他解决方案来防止从头重新加载页面。

相关问题