为何在线时不使用AppCache?

时间:2013-10-30 10:33:56

标签: apache caching html5-appcache

我正在使用缓存清单开发Web应用程序以使其脱机。

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

但实际上,每次重新加载js文件(当然,当设备不脱机时),尽管清单文件没有改变。

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

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

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

我不明白。几天前,这个JS文件永远不会重新加载,即使有明显的更改,现在每次重新加载(除非设备真的脱机)

所以这不再是一个问题了,但也许你会带领我......

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

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

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

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

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

编辑:经过进一步调查,看来腐败来自于我试图在我的jsfile中添加一个参数,即我的file.js?v = xxx

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