背景
在android Webview中:
用户在线时
Page A
。localStorage('X')
上的Page A
。当用户离线时
Page B
(本地保存)。Page B
从localStorage('X')
获取数据并存储在localStorage('Y')
。Page B
在JavaScript中对localStorage('Y')
执行操作。当用户再次在线时
localStorage('Y')
获取数据并存储在localStorage('X')
。问题
localStorage('X')
值未传递给localStorage('Y')
&反之亦然。
寻找:
如何将localStorage
价值从网站传递到本地HTML文件&反之亦然
答案 0 :(得分:1)
您无法使用localStorage
在两个域之间共享数据。
用于跨域共享数据的方法之一是使用postMessage
API。除了MDN链接之外,您还可以在此处找到更多详细信息:How do you use window.postMessage across domains?
在您的情况下,您可能需要进行以下更改:
用户在线时
Page C
Page C
在iframe元素中打开Page A. Page A
需要将任何数据保存到localStorage
时,它都会通过postMessage
将数据发送到父网页,即Page C
。反过来Page C
可以将数据保存到localStorage。当用户离线时
Page B
(本地保存)。localStorage
存储的Page C
中的数据,因为两者都是脱机打开的。