1

我有一个Web 应用程序,我认为它非常适合使用应用程序缓存,这是我玩的棋盘游戏的实用程序。

我在应用程序缓存中浏览了一个教程,它运行良好......有点太好了。

作为我的部署过程的一部分,我的应用程序中的大多数脚本都被合并和最小化,唯一的例外是 jQuery。对于 jQuery,我使用 Google 托管的副本。

这在我第二次加载页面时引起了问题,在它被缓存之后,因为 jQuery 没有被缓存并且它不会加载它。

我对其进行了更改,以便 jQuery 与其他最小化脚本集成,但我仍然遇到问题。我修改了清单,据我所知,Chrome 下载了更新的清单,但没有下载其中的任何更新资源。

我什至从 HTML 标记中删除了 manifest 属性,但它仍然不会刷新页面。我必须从清单中实际注释掉 /index.html 才能使页面刷新。

因此,只要您仍在缓存相同的资源,更新清单似乎没有任何作用。有什么我想念的吗?如果缓存的项目早于某个日期,清单文件中是否有任何强制再次下载的内容?

编辑添加:我正在 Chrome 上进行测试(稳定)。

4

1 回答 1

0

我设法通过仅在清单文件上显式设置缓存标头来使其工作,以强制不缓存清单文件。我将此添加到我的 .htaccess 中:

<Files ~ "\.mf">
    ExpiresActive On
    ExpiresDefault "access"
</Files>

请注意,我使用 .mf 作为文件扩展名...如果您使用的是 .appcache,请将 mf 更改为 appcache。

于 2011-09-13T13:49:49.363 回答