如何在iPhone Safari中强制刷新Web应用程序文档?

时间:2012-01-17 11:55:42

标签: iphone caching web-applications

当我更新服务器上的文件时,我似乎无法在我的iPhone网络应用程序(添加到主屏幕)中刷新,尤其是css文件。

我试过......

*清除历史记录(在设置中)

*清除缓存(在设置中)

*强制关闭并重新启动应用

*重启iPhone

它只是在几次尝试后随机刷新文件..非常烦人。

3 个答案:

答案 0 :(得分:1)

是的,我有同样的问题。我发现的唯一的工作是重命名文件(并更改到这些文件的链接),这是至少可以说的蛮力解决方案,在我的情况下,除了这一点,因为很多文件是通过PHP添加的和模板框架工作,屁股上的巨大,巨大的痛苦。

显然使用清单会有所帮助,但我已经读过,这实际上并不能永久解决问题,因为这些文件在第一次之后也会被缓存。

Apple确实需要对此进行排序,因为它使得开发,部署和更新Web应用程序不一定非常费力,因为您应该能够更新css文件而无需重命名它以便刷新它。我很欣赏缓存的必要性,但是完全删除Web应用程序也应该删除缓存以及 - 使用手机空间来存储一堆没有应用程序正在使用的css文件似乎是非常低效的。

会发布一个更好的答案,我找到一个......

更新这似乎是在最新版本的iOS5中修复的:)

答案 1 :(得分:0)

David O' Sullivan,

随着最新的iOS 5.1.1更新,我仍然有这个问题... 我不计划在每次调整时重命名css文件。

现在有这么多的webapp开发者,他们怎么能解决这么麻烦? 他们必须以某种方式解决它?

编辑:我改变了我的css文件名2次后,现在好像已经解决了。怪异。

答案 2 :(得分:0)

如果您使用类似PHP的东西来创建这些页面,那么丑陋但有效的解决方法可能是在CSS链接之后添加随机文本。这会使浏览器将此文件视为不同的文件,因为URL不同

<link href="styles.css?234234234234" rel="stylesheet" type="text/css" />

类似

echo "<link href='styles.css?'".time()." rel='stylesheet' type='text/css' />";