为什么我的Mobile Safari缓存无法清除?

fre*_*ent 19 iphone jquery caching jquery-mobile requirejs

我正在尝试在iPhone4(iOS4)iPad1(iOS3.3)和桌面上调试网站.

我的问题是我无法清除iPhone缓存.

如果我将警报/控制台添加到我正在调试的js文件中,它们会显示在iPad和桌面上,但iPhone会不断从缓存中重新加载.

如果我通过settings>safari>delete browser history, cache, cookiesSafari 清除缓存并删除所有书签并删除服务器上的文件,iPad和桌面中断(丢失文件),但iPhone仍然加载页面,好像什么也没发生.

不确定这是正确的地方,但也许其他人有类似的经验和想法如何解决?

谢谢!

编辑:
我更多地玩这个.如果我通过图标启动应用程序,缓存似乎已清除.只有当我在Mobile Safari中打开页面时,它仍然使用缓存中的错误文件.指针仍然欢迎!

编辑:
我开始对此表示赏心悦目.我在网站上使用RequireJS和JqueryMobile,因此这些也可能是缓存未清除的原因.尽管如此,我还是不明白为什么它会在app-mode中清除,为什么它在Mobile Safari中无法清除.

我尝试了以下操作:
1.单击reload pageURL栏不会清除缓存.单击链接,然后通过加载页面go确实似乎偶尔清除缓存

joe*_*der 18

即使这有点hacky,也许可以去解决这个问题(我假设这是为了开发)

根据禁用ajax缓存的注意事项如何禁用Safari浏览器中的Ajax缓存?您可以在开发时设置no-cache标头,或者像这样在纯HTML中设置

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
Run Code Online (Sandbox Code Playgroud)

显然它不会解决你最初被卡住的问题.但您可以通过添加任意查询参数来解决周期?某事= 3164因此URL实际上是唯一的.然后下次它加载希望它将保持无缓存参数.

如果即使那样不起作用,你可以设置一个书签,每次将你重定向到一个不同的random = 14361号码,它们都是有效的独特呼叫 - 但随后我们进入了愚蠢的领域!

我想有一个合适的解决方案,但是当我开发JS webapps时,我发现有时候所有东西都会正常刷新一段时间,然后有时候它并没有...我能说出的真实模式 - 除了我认为的事实启用调试器时似乎做得少(但那完全没有事实;-)


小智 5

在为iOS移动设备开发时,您可以通过USB将电话插入计算机并使用开发工具轻松清除缓存:

  1. 在手机中,启用开发工具:设置/ Safari /高级
  2. 在计算机中,启用Safari开发菜单:设置/高级
  3. 确保移动版Safari已打开并检查手机:开发/ PHONE_NAME/TAB_NAME
  4. 现在按cmd-shift-r清除手机中的缓存