抱歉标题有点晦涩。
我想知道使用HTML5的manifest功能缓存的文件是否可以在同一域名下的另一个iPhone Web应用程序中共享,就像共享JavaScript代码库或常见图像标志一样。 有人知道吗?
谢谢,
Greg
抱歉标题有点晦涩。
我想知道使用HTML5的manifest功能缓存的文件是否可以在同一域名下的另一个iPhone Web应用程序中共享,就像共享JavaScript代码库或常见图像标志一样。 有人知道吗?
谢谢,
Greg
GeoNomad,localStorage更适用于应用程序使用过程中会发生变化的变量数据,而不是初始加载信息。
域级别隔离不是强制执行的吗?
当然是,但清单中有一个方便的部分,可以在明确声明时穿越这些边界。
NETWORK:
# All URLs that start with the following lines
# are whitelisted.
http://example.com/examplepath/
http://www.example.org/otherexamplepath/
来自Apple。
直接回答这个问题,要使多个Web应用程序之间的信息可用,只需在每个清单中添加相同的信息(除非检测到数据已更改,否则它们不会重新加载。)
“不同应用程序缓存组中的多个应用程序缓存可以包含相同的资源,例如,如果清单都引用该资源。”
来自WHATWG
我猜想如果您访问相同的URL,它会首先查找缓存,但不能确定。为什么不试试呢?它可能需要在两个应用程序的清单中,这可能会导致不可预测的结果。我还担心随着Safari新版本的推出,行为会发生变化。
然而,可以使用localStorage来解决问题。您可以序列化几乎任何内容并将其保存在localStorage变量中,以供来自同一域的其他Web应用程序使用。唯一的限制是每个域名的±5MB(我想)。
这带来了一个重要的警告:
除非您想要两个应用程序都更改该值,否则请勿在多个Web应用程序/网页中使用相同的localStorage.variablename。如果您无意中这样做,那么请准备好面对支持问题。