【问题标题】:The iPad applicationCache events can't update the screeniPad applicationCache 事件无法更新屏幕
【发布时间】:2011-04-27 11:44:56
【问题描述】:

我有一个监听所有 window.applicationCache 事件的 html5 应用程序。当它需要下载时,我在屏幕上写了一个漂亮的对话框,在进度事件期间,我通过对 event.loaded 和 event.total 属性进行正确的数学计算来计算文件完成的百分比,以便更新百分比它。

结果是一个很好的对话框,上面写着“Installing n%”最多 100。一切都按我的预期进行,应用程序很好地离线缓存并在所有浏览器上启动。

但是,在 iPad 上,这似乎不起作用。在 applicationCache 事件期间我唯一能实现的就是写入控制台。在那里,我确实看到我的处理程序实际上正在监听这些事件。

我已经尝试了所有功能超时。

我的问题:

  1. 有没有办法在 iPad 上更新任何 HTML 并将其可视化?
  2. 为什么 iPad 不能像所有其他浏览器一样一次性下载所有内容?由于我不知道的原因,它似乎进入了空闲状态。

PS:我需要缓存超过 600 个文件。总大小总共不到 1Mb。

【问题讨论】:

  • 嗨,马丁,我想知道您是否最终找到了解决此问题的方法?
  • JohnA10,对不起,自从 iOS6 以来我没有尝试过这个。不确定它是否仍然存在错误。

标签: ipad web-applications html caching mobile-safari


【解决方案1】:

我也有同样的问题。其他 applicationCache 事件(updateready、cached、downloading)确实会触发,您可以使用 jQuery 或其他方式更改 html 以指示更改,但不能更改进度事件。我可以理解 iPad 可能不会选择支持此事件,因为这是一个可能多次触发的事件,并且可能会影响 iPad 较慢处理器的性能。关于下载,您需要确保清单中列出的所有资源都可用。

【讨论】:

  • 所有文件下载完成后,“进度”事件都会突然抛出,所以我无法显示一个漂亮的进度条。关于为什么它不会在每次下载后立即触发“进度”事件的任何更新?桌面。铬
猜你喜欢
  • 2010-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-15
  • 2014-03-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多