首页 文章

在iOS PWA和safari之间共享IndexedDB

提问于
浏览
3

是否可以在iOS上的渐进式Web应用程序(PWA)和独立Safari之间共享IndexedDB存储和数据?如果是这样,我需要采取哪些步骤来共享商店/数据?

我的用例是我有一个使用第三方认证的潜在PWA . 正常行为是,当导航到第三方认证页面时,PWA会自动在新的Safari窗口中打开页面,因为它超出了范围 . 我想从这个Safari实例中保存IndexedDB中的身份验证令牌,打开我的PWA,然后从我的PWA中的IndexedDB加载令牌 .

我测试了这个实现 . 它在Safari独立版中工作正常(即我可以从IndexedDB中读取令牌),但是当我导航回我的PWA并尝试读取数据时,它不存在 . 这表明商店无法共享,但我正在寻找更明确的答案 . 在互联网搜索中我没有找到任何方式的指示 .

注意:iOS上的Safari和PWA之间不共享本地存储,会话存储和cookie,因此这些解决方案不起作用,因此必须使用IndexedDB

1 回答

  • 0

    您可以使用弹出窗口,而不是打开一个新选项卡,就像使用示例和源代码一样精美解释here . 这里使用的关键思想是 window.postMessage ,它允许窗口和框架跨域发送数据 .

相关问题