2011-09-26 33 views
2

我正在做一个网站,用户可以说他想缓存哪些项目。基于此,生成清单文件。通过这样做,用户可以在他离线时浏览网站。这一切都在谷歌浏览器正常工作。但在iPad上它不能正常工作。 有时候有时候事情会被缓存,有时甚至没有我访问过的页面。应用程序缓存:在iPad上奇怪的行为

我们一直在测试2台iPad,但我们在两台iPad上都没有得到相同的结果。即使我们完全一样,我们有时会得到不同的结果。

所以我们要做的:

  • 打开WiFi
  • 浏览该网站
  • 进行一些设置,使一些网页/图片/ ...添加到清单文件
  • 转WiFi关闭
  • 回到Safari浏览器刷新/浏览到应该被缓存的页面。

有时在一台iPad上(这是一台iPad 1),它的工作原理与它应该完全相同,但有时它根本不起作用。 在另一台iPad上(这是一款iPad 2),它绝不会像它应该的那样完全工作。只是一些随机结果。

它也像的结果是不同的,当我们完全关闭Safari浏览器,然后清除缓存,然后做下载和缓存的东西的全过程......

有人可以帮我解决这个问题?这是一个在目前的屁股真正的痛苦... :(

+0

这个问题也可能是一些利益:http://stackoverflow.com/questions/5655304/html5-localstorage-not-persistent-on断电之后 – Paul

+0

这很有趣,但并没有真正与这个问题有关。 – Lowie

回答

0

我遇到了一些问题,以及与iPad缓存。

  1. MIME类型的清单文件中不正确的设置因windows的主机,windows服务器上的标准MIME类型是“application/x-ms-manifest”,这是在ClickOnce应用程序诞生时创建的,需要在safari上工作的MIME类型是:“text/cache-清单”

  2. 缓存大小是在iPad太小(你应该得到一个警告放大)

  3. Ipad需要时间!我注意到,当您看到所有资产或网站被“加载”时,缓存没有填充。在将网站放置到主屏幕之前,请给它加载正常时间的两倍。

  4. 缓存的缓存:)当服务器上的修改日期发生变化时,iPad只会重新加载文件。因此,当您真的想测试时,请清除iPad上的所有缓存,移除主屏幕上的链接并重新上传所有文件。

结论:耗时!

提示:打开桌面或iPad上safari中的调试控制台。如果你在iPad上做了错误或者是缓存问题,它会给出一个公平的想法。

0

看起来问题与应用程序缓存没有任何关系。这在某种程度上是Cookie的问题/我动态构建清单文件的方式。

2
  1. 开放的Web服务器(IIS)
  2. 选择网站
  3. 打开MIME类型
  4. 添加或编辑以text/cache-manifest
  5. 重置IIS在命令提示符下iisreset

这对我的作品。

+0

这是我遇到的问题,您的修复工作第一次 – WraithNath

0

我想稍微回应一下Pieter-Paulus Vertongen,我对Windows托管有类似的经验。

根据Safari中的调试控制台,清单文件的MIME类型被误读,因此没有下载任何结果。

我将我的所有文件(包括.htaccess文件)都复制到Linux服务器上,而不更改文件内的任何内容......然后缓存工作得非常好。

所以,可能这可能是文件托管位置的问题。使用调试控制台和乔纳森·斯塔克的代码来了解一下:

http://jonathanstark.com/blog/debugging-html-5-offline-application-cache?filename=2009/09/27/debugging-html-5-offline-application-cache/

相关问题