我正在使用缓存清单开发Web应用程序以使其脱机。
它运行正常,但我尝试在Apache中为其中一个文件(js one)添加一个no-cache指令,以确保每次更改清单文件时都会加载最后一个版本。
但实际上,每次重新加载js文件(当然,当设备不脱机时),尽管清单文件没有改变。
我只在Safari和WebKit上测试过它。
这是正常行为吗?我认为清单指令会取代apache ......
编辑: 实际上,我禁用了apache no-cache指令,并且每次都重新加载我的js文件,尽管清单没有被修改。
我不明白。几天前,这个JS文件永远不会重新加载,即使有明显的更改,现在每次重新加载(除非设备真的脱机)
所以这不再是一个问题了,但也许你会带领我......
答案 0 :(得分:2)
我刚读了一篇关于这个主题的好文章。
http://www.webdirections.org/blog/appcache-not-so-much-a-douchebag-as-a-complete-pain-in-the/
答案 1 :(得分:0)
这是一个非常特殊的情况,但万一发生在其他人身上:
我在Chrome上测试过,而且我正常工作。所以在safari上,我清空缓存,一切都恢复正常。在我的iPhone上,我切换到飞行模式,加载站点,然后返回到连接模式,它也恢复正常。
因此我假设某些缓存文件已损坏,导致Safari每次都加载文件,而不会发出任何错误...... :(
我不完全确定,因为它就像一个“幽灵虫”。但万一它有帮助。
编辑:经过进一步调查,看来腐败来自于我试图在我的jsfile中添加一个参数,即我的file.js?v = xxx每次我试图把它放回去,无论是否在清单文件中反映它,它都会出现这种错误/奇怪的行为......