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

时间:2012-08-01 07:16:34

标签: jquery iphone caching jquery-mobile requirejs

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

我的问题是我根本无法清除iPhone缓存。

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

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

不确定这是一个正确的问题,但也许其他人有类似的经历,并且想知道如何解决这个问题?

谢谢!

修改
我多玩了一些。如果我通过图标启动应用程序,缓存似乎已清除。只有当我在Mobile Safari中打开页面时,它仍然使用缓存中的错误文件。指针仍然欢迎!

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

我尝试过以下方法:
1.单击URL栏中的reload page不会清除缓存。点击链接然后通过go加载页面似乎偶尔会清除缓存

6 个答案:

答案 0 :(得分:18)

即使这有点hacky,也许有一个解决方法(我假设这是为了开发)

根据禁用ajax缓存的注意事项How to disable Ajax caching in Safari browser?,你可以在开发时设置no-cache标头,或者像这样在纯HTML中设置

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
显然它不会解决你最初被卡住的问题。但您可以通过添加任意查询参数来解决周期?某事= 3164因此URL实际上是唯一的。然后下次它加载希望它将保持无缓存参数。

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

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

答案 1 :(得分:5)

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

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

答案 2 :(得分:2)

尝试停止safari并重新启动它并删除safari中的所有页面....查看图片如何关闭页面enter image description here

答案 3 :(得分:2)

你在处理HTML5 "offline" application吗?对脱机应用程序使用清单文件是相当新的,并且每个浏览器都有奇怪的怪癖。修改服务器上的清单文件,iPhone应该再次获取页面。

修改: 如果您有一个清单文件(以及指向它的HTML属性),如果您以错误的顺序删除清单,您的缓存可能会纠结:

  1. HTML和清单存在
  2. 删除清单文件,然后重新加载HTML页面=&gt; HTML页面取消显示,因为清单404,但在某些浏览器上却没有。
  3. 修改HTML =&gt; HTML页面不会取消缓存,因为(不存在的)清单文件没有更改。
  4. 要正确取消显示,请尝试:

    1. 中添加HTML和清单
    2. 首先删除HTML清单属性,然后重新加载页面
    3. 然后从服务器中删除清单文件。

答案 4 :(得分:1)

还有另一个解决方案,即重新启动你的设备进行safari,

  1. 转到Settings
  2. 然后往下走,去Safari
  3. 然后向下查看选项Clear Cookie and Data,如下图iPhone Safari Clear Cookie and Data

  4. 现在回到你的野生动物园,你就完成了!

  5. 如果您在下面有任何问题评论。

答案 5 :(得分:-2)

对我有用的是在Google上搜索我的网站并点击Google搜索结果。