【问题标题】:ASP.NET MVC offline app url problemASP.NET MVC 离线应用 url 问题
【发布时间】:2011-05-13 17:09:44
【问题描述】:

我有一个 MVC2 网站,我试图在 iPhone 上离线工作。我站点中的所有页面都使用相同的母版页,这引用了单个缓存清单文件。清单文件中不存在任何特定的 MVC url,但现在还可以,因为它们一旦被访问一次就会被缓存(它们在初始下载时被缓存)。

我的问题是这样的:如果我有一个 www.mysite.com/red 或 www.mysite.com/blue 的 url,那么页面会被缓存在 iphone 上。如果我有 www.mysite.com/red/one 或 www.mysite.com/blue/two 的 URL,则该页面不会被缓存。

有人知道为什么会这样吗?

非常感谢。

【问题讨论】:

    标签: iphone asp.net-mvc offline browser-cache


    【解决方案1】:

    缓存清单中列出的文件的 url 都是相对于包含清单的文件的位置,而不是清单本身的位置。

    如果您的网站结构如下:

    www.mysite.com/red
    www.mysite.com/blue
    www.mysite.com/red/one
    www.mysite.com/blue/two
    www.mysite.com/scripts/site.js
    www.mysite.com/css/site.css
    www.mysite.com/cache.manifest
    

    你的 cache.manifest 目前看起来像

    CACHE MANIFEST
    scripts/site.js
    css/site.css
    

    它适用于 www.mysite.com/red 和 www.mysite.com/blue 。

    要使相同的缓存清单适用于 www.mysite.com/red/one 或 www.mysite.com/blue/two,您应该将清单更改为使用绝对 URL,如下所示:

    CACHE MANIFEST
    /scripts/site.js
    /css/site.css
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多