iPhone - HTML5的“缓存清单”常用于许多Web应用程序吗?

3

抱歉标题有点晦涩。

我想知道使用HTML5的manifest功能缓存的文件是否可以在同一域名下的另一个iPhone Web应用程序中共享,就像共享JavaScript代码库或常见图像标志一样。 有人知道吗?

谢谢,

Greg

2个回答

3

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


0

我猜想如果您访问相同的URL,它会首先查找缓存,但不能确定。为什么不试试呢?它可能需要在两个应用程序的清单中,这可能会导致不可预测的结果。我还担心随着Safari新版本的推出,行为会发生变化。

然而,可以使用localStorage来解决问题。您可以序列化几乎任何内容并将其保存在localStorage变量中,以供来自同一域的其他Web应用程序使用。唯一的限制是每个域名的±5MB(我想)。

这带来了一个重要的警告:

除非您想要两个应用程序都更改该值,否则请勿在多个Web应用程序/网页中使用相同的localStorage.variablename。如果您无意中这样做,那么请准备好面对支持问题。


嗯...域级别隔离不是被强制执行的吗?我无法相信如此巨大的安全漏洞会被保持开放... - jldupont

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接