我试图在iPhone4(iOS4)iPad1(iOS3.3)和桌面上调试一个网站。
我的问题是我无法清除iPhone缓存。
如果我在调试的js文件中添加了警报/控制台,它们会显示在iPad和桌面上,但iPhone只是从缓存中重新加载。
如果我通过设置> safari>删除浏览器历史记录,缓存,cookie和Safari删除所有书签并删除服务器,iPad和桌面断点(丢失文件)上的文件,但iPhone仍然加载页面,如同没有发生任何事情。
不知道这是正确的地方,但也许有人有类似的经验和想法如何解决?
谢谢!
编辑:
我玩了一些这个更多。如果我通过图标开始应用,缓存似乎被清除。只有当我在Mobile Safari中打开该页面时,它仍然使用缓存中的错误文件。指针仍然欢迎!
编辑:
我正在开始一个赏金。我在网站上使用了RequireJS和JqueryMobile,所以这些也可能是缓存不清除的原因。不过,我不明白为什么它在应用程序模式下清除,为什么在Mobile Safari中不清楚。
解决方法
即使这有点恶作剧,也许在这个解决方案中走了(我假设这是为了开发)
根据在这里禁用ajax高速缓存的注释,您可以在开发过程中设置无缓存标头,或者像这样在纯HTML中设置
<Meta HTTP-EQUIV="Pragma" CONTENT="no-cache"> <Meta HTTP-EQUIV="Expires" CONTENT="-1">
显然,它不会解决你的初始问题被卡住。但是您可以通过添加任意查询参数?something = 3164来打破周期,因此URL有效地是唯一的。那么下一次它希望加载它会保持在无缓存参数。
如果即使那样没有工作,你可以设置一个书签,每次都将您重定向到一个不同的随机= 14361号码,以便它们都是有效的唯一呼叫 – 但是随后我们进入愚蠢的领域!
我想要一个正确的解决方案,但是当我开发JS webapps时,我发现有时候,一切都会正常刷新一段时间,有时它不会…没有真正的模式,我可以告诉 – 除了我认为当调试器被启用时(似乎完全不成立), – 似乎做的更少