【发布时间】:2012-07-30 01:22:43
【问题描述】:
我正在尝试在我的 iPhone4 (iOS4) iPad1 (iOS3.3) 和桌面上调试网站。
我的问题是我根本无法清除 iPhone 缓存。
如果我将警报/控制台添加到我正在调试的 js 文件中,它们会显示在 iPad 和桌面上,但 iPhone 只是不断地从缓存中重新加载。
如果我通过settings>safari>delete browser history, cache, cookies 清除缓存并在 Safari 中删除所有书签并删除服务器、iPad 和桌面中断(丢失文件)上的文件,但 iPhone 仍然加载页面,就好像什么都没发生一样。
不确定这是问问题的正确地方,但也许其他人有类似的经历和想法如何解决?
谢谢!
编辑:
我又玩了一些。如果我通过图标启动应用程序,缓存似乎已清除。只有当我在 Mobile Safari 中打开页面时,它仍然使用缓存中的错误文件。仍然欢迎指点!
编辑:
我正在为此开始赏金。我在网站上使用 RequireJS 和 JqueryMobile,所以这些也可能是缓存未清除的原因。不过,我不明白为什么它在应用程序模式下会清除,以及为什么在 Mobile Safari 中不会清除。
我尝试了以下方法:
1、点击网址栏中的reload page不会清除缓存。单击链接然后通过go 加载页面似乎确实偶尔会清除缓存
【问题讨论】:
-
我还没有真正使用缓存清单,但是您可以使用缓存清单的
NETWORK部分来指定您的文件应该在每次页面加载时刷新吗?或者将时间戳附加到您想要确保不被缓存的资产的 URL 上呢?或者也许您可以为您不想被缓存的资产设置一个Cache-Control: no-cache, must-revalidate标头?设置为过去的Expires标头是另一种尝试。介意我问一下您不想缓存哪些特定文件? -
您是否尝试在“设置”中清除缓存,然后按住睡眠/唤醒和主页按钮(硬关闭您的 iPhone)?当我这样做然后重新启动 iPhone 时,终于刷新了缓存。
-
@JaredUpdike:前段时间,但我想我也试过这个。感谢您的参与
标签: jquery iphone caching jquery-mobile requirejs