对不起,神秘的标题。
我想知道使用 HTML5 清单功能的一个 iPhone webapp 的缓存文件是否可以用于同一域的另一个 webapp;就像在 javascript 代码或常见图像徽标的共享库中一样。任何人?
谢谢,
格雷格
对不起,神秘的标题。
我想知道使用 HTML5 清单功能的一个 iPhone webapp 的缓存文件是否可以用于同一域的另一个 webapp;就像在 javascript 代码或常见图像徽标的共享库中一样。任何人?
谢谢,
格雷格
GeoNomad,localStorage 更多的是用于在应用程序使用过程中发生变化的可变数据,而不是初始加载信息。
没有强制执行域级别的隔离吗?
当然可以,但是清单中有一个方便的部分可以让您在明确说明时越过这些边界。
NETWORK:
# All URLs that start with the following lines
# are whitelisted.
http://example.com/examplepath/
http://www.example.org/otherexamplepath/
来自苹果。
作为对该问题的直接回答,要使多个 Web 应用程序的信息可供彼此使用,只需在每个清单中添加相同的信息(除非检测到数据已更改,否则它们不会重新加载。)
“不同应用程序缓存组中的多个应用程序缓存可以包含相同的资源,例如,如果清单都引用该资源。”
来自WHATWG
我猜如果您访问相同的 URL,它会首先在缓存中查找,但不能以任何权限说。为什么不试试呢?它可能需要在两个应用程序的清单中,这可能会导致不可预知的结果。我还会担心新版本的 Safari 会改变行为。
但是,可行的是使用 localStorage。您可以序列化几乎任何内容并将其保存在 localStorage 变量中,以供来自同一域的其他 webapps 使用。唯一的限制是每个域±5MB(我认为)。
这导致了一个重要的警告:
不要在多个 webapps/web 页面中使用相同的 localStorage.variablename ,除非您希望这两个应用程序都可以更改该值。如果您无意中这样做,预计会出现拉扯支撑问题。