PWA可以在浏览器之间共享状态/数据吗?

PWA可以在浏览器之间共享状态/数据吗?

问题描述:

如果我有多个浏览器,PWA可以共享状态或数据吗?例如,如果我处于离线状态,并且我在Firefox上与应用进行了互动,请保存一些数据等。我可以在Chrome中打开应用时访问相同的数据吗?我尝试了https://voice-memos.appspot.com/但它不起作用。也许是一个未实现的功能?PWA可以在浏览器之间共享状态/数据吗?

不,你不能。浏览器以不同的方式实现缓存,它们将数据存储在不同的目录中等。

浏览器拥有自己的专用于Web应用程序的专用存储空间,并且没有专门为直接,无缝的跨浏览器数据共享而设计的API,所以只有解决方法可用。

在线时,您可以通过服务器同步数据来共享数据。在SSE/WebSockets或推送通知的帮助下,这甚至可能接近实时。

当离线时,我不认为你可以任何明智的方式。您可以指示用户在一个应用程序中下载文件,并在另一个应用程序的文件选择器中选择它(或使用drag'n'drop或copy'n'paste)。也许(我还没有测试过),你可以在线时在浏览器之间建立WebRTC数据连接,如果直接p2p连接是通过环回/局域网连接的话,它将在下线时继续存在。