【问题标题】:Application cache: strange behaviour on iPad应用程序缓存:iPad 上的奇怪行为
【发布时间】:2011-11-25 03:01:23
【问题描述】:

我正在创建一个网站,用户可以在其中说出他想要缓存的项目。基于此,生成清单文件。通过这样做,用户在离线时仍然可以浏览网站。这在谷歌浏览器中一切正常。但在 iPad 上,它不能正常工作。 有时东西会被缓存,有时不会,甚至我访问的页面也不会。

我们整个上午都在使用 2 台 iPad 进行测试,但我们无法在两台 iPad 上获得相同的结果。即使我们做的完全相同,有时也会得到不同的结果。

那么我们该怎么做:

  • 开启 WiFi
  • 浏览网站
  • 进行一些设置,以便将一些页面/图像/...添加到清单文件中
  • 关闭 WiFi
  • 返回 Safari 刷新/浏览应缓存的页面。

有时在一台 iPad(这是 iPad 1)上它完全可以正常工作,但有时它根本不工作。 在另一台 iPad(这是 iPad 2)上,它永远不会完全正常工作。只是一些随机结果。

当我们完全关闭safari,然后清除缓存,然后做下载和缓存东西的整个过程时,结果看起来也不同......

有人可以帮我解决这个问题吗?这一刻真的很痛苦...... :(

【问题讨论】:

标签: ipad offline-caching application-cache offline-browsing


【解决方案1】:
  1. 打开网络服务器 (IIS)
  2. 选择网站
  3. 打开 MIME 类型
  4. 添加或编辑到text/cache-manifest
  5. 在命令提示符处重置 iis iisreset

它对我有用。

【讨论】:

  • 这是我遇到的问题,您的修复第一次成功
【解决方案2】:

我在 ipad 缓存方面也遇到了一些问题。

  1. 由于 Windows 托管,未正确设置清单文件的 MIME 类型。 Windows 服务器上的标准 MIME 类型是“application/x-ms-manifest”。这是在 ClickOnce 应用程序出现时创建的。在 safari 上工作所需的 MIME 类型是:“text/cache-manifest”

  2. ipad 上的缓存太小(您应该会收到放大它的警告)

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

  4. 缓存的缓存 :) iPad 仅在服务器上的修改日期更改时重新加载文件。所以当你真的想测试时,清空 iPad 上的所有缓存,删除主屏幕上的链接,然后重新上传所有文件。

结论:耗时!

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

【讨论】:

    【解决方案3】:

    看起来问题与应用程序缓存无关。不知何故,cookie/我动态构建清单文件的方式存在问题。

    【讨论】:

      【解决方案4】:

      我想稍微回应一下 Pieter-Paulus Vertongen,我在 Windows 托管方面也有类似的经历。

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

      我将所有文件(包括 .htaccess 文件)复制到 linux 服务器上,而没有更改文件中的任何内容……然后缓存工作得很好。

      所以是的,这可能是文件托管位置的问题。使用调试控制台和 Jonathan Stark 的代码找出:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-12-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多