【问题标题】:iPad Home Screen App refreshes on every openiPad 主屏幕应用程序在每次打开时都会刷新
【发布时间】:2011-10-04 22:12:23
【问题描述】:

我正在使用 HTML5 和 SenchaTouch 为 iPad 编写一个网络应用程序。该应用程序使用缓存清单离线运行。一旦它被添加到主屏幕并在没有 Safari 的情况下打开,它会在每次打开时自行刷新,即使只是导航到主屏幕并返回。期望的行为是离开应用程序,做其他事情,然后回到应用程序并保持一切不变。

可在此处找到显示相同(不良)行为的类似应用示例:http://ignitedmediadesign.com/WebApp/index.html

我读过使用缓存清单应该可以在 iPhone (http://www.stevesouders.com/blog/2011/06/28/lack-of-caching-for-iphone-home-screen-apps/) 上解决这个问题,但似乎对 iPhone 或 iPad 都没有效果。

还有其他方法可以解决这个问题吗?缓存清单文件有什么秘密可以阻止我可能错过的吗?

【问题讨论】:

  • +1 我也有同样的问题。我一直无法找到任何解决方案。 :-(
  • @Gunder 我在 Sencha 论坛上收到了类似的反馈,称 iOS 不会以任何其他方式处理主屏幕应用程序,但请随时关注回复here
  • 在这里查看我的答案:stackoverflow.com/a/40707231/473637

标签: ipad sencha-touch iphone-standalone-web-app application-cache offline-web-app


【解决方案1】:

我的印象是,这只是在正常 Safari 之外运行的“主屏幕”网络应用程序的本质。我有一个在 Safari 中运行良好的应用程序,具有一些最小的状态保存,但爆破的非 Safari 版本每次都会刷新。编辑:即使是展示的使用缓存清单的 O'Reilly 示例,每次添加到主屏幕时都会重新加载。

您可能需要考虑创建指向控制器/操作对的“路由”(URL 片段)。查看MVC PhoneGap example(如果不使用PhoneGap,您可以滚动浏览所有这些内容并实现您自己的数据模型和存储)。另见Sencha Touch MVC tutorial

此外,大多数渲染的 sencha 触摸组件似乎在活动项目的更改之间保持状态。例如。我有一个包含所有子面板的主 TabPanel。在主 TabPanel 的 TabBar 上的选项卡之间切换时,每个子面板都保持其呈现,除非我设置了侦听器或控制器操作以执行其他操作。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2023-03-24
    • 1970-01-01
    • 2022-01-10
    • 2018-04-03
    • 2012-02-06
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 2021-07-05
    相关资源
    最近更新 更多