【问题标题】:iOS mobile web app not updatingiOS 移动网络应用程序未更新
【发布时间】:2012-01-20 10:04:42
【问题描述】:
也许我遗漏了一些明显的东西,抱歉,但是......
我有一个简单的 jquery 移动网络应用程序,当我进行更改时,我会将其上传到我的服务器。然后我通过 url 使用 Safari 打开它,一切正常。如果我然后制作一个主屏幕图标快捷方式并通过应用程序图标打开它,我会得到一个旧版本,即更改前的版本。在我的设备上,我已经清除了缓存和历史记录,并删除了所有旧的主屏幕图标。我检查了服务器版本,只有新版本在那里。 jquery mobile 或 iOS 在哪里存储旧版本以及如何清除它。
谢谢!
【问题讨论】:
标签:
ios
caching
jquery-mobile
【解决方案1】:
我也尽我所能,但可以找到解决方案。无论您做什么,iOS 设备似乎都在永远缓存这个图标。
我最终想出的唯一解决方案是:每当您替换图标时,在 URL 中添加一个哈希或版本字符串,这样路径就会不同。例如:
<link rel="apple-touch-icon" sizes="144x144" href="images/app-icon.png?v2">
【解决方案2】:
对我来说也是一样。如果我“添加到主屏幕”另一个 url 它工作正常并且更新正常,但无论我做什么,旧的都拒绝更新。如果你在 Safari 中加载它,效果很好。
我在互联网上到处寻找,根本找不到答案。清除缓存/数据根本没有帮助。我正在考虑在我的页面中添加一个“刷新”链接,看看它到底有什么问题。
有人说问题在一段时间后奇迹般地解决了……可能是 5 分钟或 1 小时……
【解决方案3】:
我已经为此工作了一个多小时,但似乎没有任何效果。但是,如果我在将应用程序添加到主屏幕后点击应用程序中的一些空白区域,它会刷新并且我会获得最新最好的版本。关闭应用程序并重新打开它并返回到以前的版本。
【解决方案4】:
编辑:这可以通过执行以下操作之一来实现:
编辑 2:浏览器只缓存触摸图标,因此您基本上只需要以任何方式更改它。
- 更改文件的路径,
- 删除清单文件,加载应用程序以强制刷新,然后放回清单文件
原答案:
基本上,必须做的是删除 Web 应用程序,然后更改清单文件,或者只是更改清单文件,以便下次打开页面时强制重新加载。强制重新加载后,您可以上传新的清单文件。
或者
您可以等待大约 1 或 2 小时,让应用最终刷新。