我正在使用HTML5和SenchaTouch为iPad编写Web应用程序.该应用程序使用缓存清单脱机运行.一旦它被添加到主屏幕并在没有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的技巧.
有没有其他方法来解决这个问题?是否有一些秘密可以缓存阻止我可能错过的清单文件?
application-cache ipad sencha-touch offline-web-app iphone-standalone-web-app
我正在阅读有关HTML5应用缓存清单的详细信息(特别是来自这篇优秀的文章).我很好奇这个想法是否有用:
我们在子域内的CDN上托管所有静态资源(脚本,CSS,字体,图像)(例如cdn.example.com和app在www.example.com上).是否可以在CDN上托管应用缓存清单?例如,
<!doctype html>
<html manifest="http://cdn.example.com/appcache.manifest">
...
<script src="http://cdn.example.com/foo.js"></script>
...
</html>
Run Code Online (Sandbox Code Playgroud)
如果是,清单列表是否可以来自CDN根目录?例如,在清单中:
CACHE MANIFEST
/foo.js
Run Code Online (Sandbox Code Playgroud)
有没有人有这方面的经验和/或知道任何警告?
编辑: WHATWG规范的工作草案它说" 脱机应用程序缓存清单可以使用绝对路径甚至绝对URL ",然后显示一个带有图像的CDN URL的示例.
我的任务是让我公司的Web应用程序脱机使用.在我进入实际开发阶段之前,我想确保我目前的策略不会成为一个破产.
我首先考虑使用html5应用程序缓存,但在做了一些测试后,我发现它似乎没有缓存服务器端操作,而是渲染的实际html(如果我错了,请纠正我).这不起作用,因为渲染的html取决于当前登录的用户.从我的测试中,它总是呈现html,好像登录的最后一个人(在线)正在登录.
我目前的策略是:我只缓存登录页面和离线(.html)页面,以对应每个需要离线使用的aspx页面.每次成功登录(在线)都会导致创建或更新Web SQL数据库或IndexDB(取决于浏览器),其中包含该人员脱机操作所需的所有数据,包括将用于登录凭据的表.通过这种方式,脱机登录的唯一要求是使用您的登录凭据登录至少一次.
我担心的是我过度复杂了.为了使这项工作,我需要为每个当前页面(很多页面)创建一个html页面,我将不得不重写当前在服务器上用JavaScript完成的所有事情,包括验证,数据库调用,填充控件例如下拉列表和数据网格等.此外,我将来更改的所有内容都需要进行后续的离线更改.
对于我正在尝试做的事情,我有一个既定的最佳实践,我正在忽视,还是我冒险进入新的领域?
asp.net html5 web-applications offline-web-app html5-appcache