DNS更新后,已安装的PWA会保持与旧服务器的连接

问题描述 投票:0回答:1

我的域名wheelofnames.com过去常常指向Google App Engine上托管的网络应用。我使用Workbox使应用程序成为渐进式Web应用程序(PWA)。两天前,我将应用程序移至Firebase Hosting,这意味着我必须更新我的域名的DNS记录。

今天,从网络浏览器访问wheelofnames.com的用户可以从Firebase Hosting获取他们的内容。这是预期的,因为该域的DNS记录指向Firebase Hosting。完善!

但在DNS更新之前,我在我的Android设备上安装了该应用程序的PWA版本。当我今天打开PWA时,它会从App Engine请求内容,即使wheelofnames.com的DNS记录不再指向那里。检查App Engine日志,我看到其他用户具有相同的体验。

如何让PWA遵循DNS记录并从新环境而不是旧环境中请求内容? PWA以某种方式缓存DNS数据吗?

progressive-web-apps workbox
1个回答
1
投票

Cache Storage API(Workbox在引擎盖下使用)使用请求URL作为键,Response对象作为值。

虽然DNS解析在最初填充缓存的请求时很重要,但是一旦保存了Response,读取响应并在以后使用它就会发生,而不考虑DNS解析。

听起来您可能需要为您的Web应用程序启动新构建,并为Workbox的预先缓存提供机会来获取对任何更新文件的更改,无论何时对预先缓存的内容进行更改,都会出现这种情况。被用在“引擎盖下”。也不是因为预先缓存的内容以缓存优先的方式显示,您可能会在重新访问网站时立即看到以前缓存的内容,并且直到下次访问(在所有选项卡关闭后),您才会看到新鲜的内容。

this recipe中所述,有一些UX模式可以允许用户立即选择加入以查看新内容。

© www.soinside.com 2019 - 2024. All rights reserved.