【问题标题】:iPhone - HTML5's "cache manifest" Common to many webapps?iPhone - HTML5 的“缓存清单”对许多 web 应用程序都很常见?
【发布时间】:2009-11-10 20:07:46
【问题描述】:

对不起,这个神秘的标题。

我想知道使用 HTML5 清单功能的一个 iPhone webapp 的缓存文件是否可以提供给同一域中的另一个 webapp;就像在 javascript 代码或常见图像徽标的共享库中一样。有人吗?

谢谢,

格雷格

【问题讨论】:

    标签: iphone html web-applications manifest


    【解决方案1】:

    GeoNomad,localStorage 更多地用于存储在应用使用过程中会发生变化的可变数据,而不是初始加载信息。

    不是域级别的隔离 强制执行?

    当然可以,但是清单中有一个方便的部分可以让您在明确说明时越过这些边界。

    NETWORK:
    
    # All URLs that start with the following lines
    
    # are whitelisted.
    
    http://example.com/examplepath/
    
    http://www.example.org/otherexamplepath/
    

    来自Apple

    作为对这个问题的直接回答,要使多个网络应用程序的信息可供彼此使用,只需在每个清单中添加相同的信息(除非检测到数据已更改,否则它们不会重新加载。)

    “不同应用程序缓存组中的多个应用程序缓存可以包含相同的资源,例如,如果清单都引用该资源。”

    来自WHATWG

    【讨论】:

      【解决方案2】:

      我猜如果您访问相同的 URL,它会首先在缓存中查找,但不能以任何权限说。为什么不试试呢?它可能需要在两个应用程序的清单中,这可能会导致不可预知的结果。我也会担心新版本的 Safari 会改变行为。

      但是,可以使用 localStorage。您可以序列化几乎任何内容并将其保存在 localStorage 变量中,以供来自同一域的其他 webapps 使用。唯一的限制是每个域±5MB(我认为)。

      这导致了一个重要的警告:

      请勿在多个 web 应用程序/网页中使用相同的 localStorage.variablename,除非您希望这两个应用程序都可以更改该值。如果您无意中这样做,预计会出现拉扯支撑问题。

      【讨论】:

      • hmmm... 域级别的隔离不是强制执行的吗?我不敢相信如此巨大的安全漏洞会被打开......
      猜你喜欢
      • 1970-01-01
      • 2010-09-21
      • 1970-01-01
      • 1970-01-01
      • 2012-03-06
      • 1970-01-01
      • 1970-01-01
      • 2012-08-24
      • 2011-10-09
      相关资源
      最近更新 更多