0

我正在开发一个使用缓存清单离线的 Web 应用程序。

它工作正常,但我尝试在 Apache 中为其中一个文件(js 文件)添加一个 no-cache 指令,以确保每次更改清单文件时都会加载最后一个版本。

但实际上,现在每次都会重新加载 js 文件(当然是在设备未离线时),尽管清单文件没有改变。

我只在 Safari 和 WebKit 上测试过它。

这是正常行为吗?我认为清单指令将取代 apache 指令...

编辑:实际上,我禁用了 apache no-cache 指令,并且我的 js 文件每次仍然重新加载,尽管清单没有被修改。

我不明白。几天前,这个JS文件永远不会重新加载,即使有清单更改,现在它每次都重新加载(设备真正离线时除外)

所以这不再是一个真正的问题,但也许你会为我提供线索......

4

2 回答 2

2

我刚刚读了一篇关于这个主题的好文章。

http://www.webdirections.org/blog/appcache-not-so-much-a-douchebag-as-a-complete-pain-in-the/

于 2013-11-05T20:08:47.273 回答
0

这是一个非常特殊的情况,但如果它发生在其他人身上:

我在 Chrome 上测试过,我工作正常。所以在 safari 上,我清空了缓存,一切恢复正常。在我的 iPhone 上,我切换到飞行模式,加载网站,然后返回连接模式,它也恢复正常。

因此,我假设某些缓存文件已损坏,导致 Safari 每次都加载文件,而不会发出任何错误... :(

我不完全确定,因为它就像一个“幻影”。但万一它有帮助。

编辑:经过进一步调查,似乎损坏来自我试图向我的 jsfile 添加参数的事实,即我的 file.js?v=xxx

每次我试图把它放回去,无论是否在清单文件中反映它,它都会出现这种错误/奇怪的行为......

于 2013-10-30T14:00:19.840 回答