iPad 主屏幕应用程序在每次打开时刷新

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

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

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

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

有没有其他方法可以解决这个问题?缓存 list 文件是否有一些 secret 可以阻止我可能错过的这种情况?

最佳答案

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

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

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

希望这可以帮助。

关于iPad 主屏幕应用程序在每次打开时刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6686654/

相关文章:

iphone - WebView 和覆盖链接的问题

iphone - 每点击一次按钮,将文本框中的数字减一

javascript - 如何检测 Safari 上的页面是否是从跳板打开的?

iphone - 将 Web 应用程序添加到 iPhone 主屏幕,例如 TestFlight

CSS 规则被忽略

iphone - 使用 UIPinchGestureRecognizer 单方向缩放 uiviews

ios - Safari 无法打开该页面,因为该地址对于 iPad 上的 Google map 无效

extjs - sencha 创建 jsb -a ./app.html -p ./app.jsb3

javascript Sencha touch 仅在浏览器中不显示设备上的数据

sencha-touch - 在 Sencha Touch 2.2.1 中运行应用程序示例时出现 JavaScript 错误