为用户提供离线HTML5 web应用程序的访问权限
Providing users access to offline HTML5 web applications
我必须构建一个在远程/现场/离线环境中完全可用的web应用程序。看起来HTML5支持具有相当复杂的缓存机制的"离线模式"。
几个问题:
- 除了缓存JS/CSS/image资源之外,我还需要一种方法来存根/模拟/重新路由页面"下载"后进行的async/ajax调用。例如,在"在线模式"中,如果用户单击按钮,通常会向服务器发送HTTPPOST。但在"离线模式"下,我需要它以某种方式将HTTPPOST的存根/模拟版本存储在本地某个地方。然后,当用户恢复"在线模式"时,该应用程序将足够智能,可以查询缓存并发出请求这可能吗如果是,这个机制被称为什么,它在哪里被记录
- 外行最终用户如何找到离线HTML5应用程序?!?他们会知道在"在线模式"下转到
http://www.myapp.example.com
,但在"离线"时,他们通常需要转到以file:///some/path/on/their/system/to/the/cached/offline/app
开头的某个浏览器URL,对吧?HTML5有什么东西可以让它更"用户友好"吗?例如,在离线模式下,用户是否仍然可以访问正常的在线URL(myapp.example.com
),但浏览器会自动检测到网络中断,并将缓存中的所有内容都提供回来?或者类似的东西
好的,所以我实际上没有在diveintohtml5文章中阅读这些问题的答案,而是在它引用的链接中:
-
这篇链接文章描述了如何在JS中进行检查,无论您当前是在线还是在缓存页面上工作。现在要充分利用这一点,您应该有两个版本的API代码(用于获取服务器资源):
- 一个用于在线使用,带有HTTPget/post,然后使用indexdb在本地存储数据
- 一个用于离线使用,它直接进入您的indexdb或回退到不可用的资源。您可能还应该在此处检查用户是否已重新联机,并切换到其他方法
-
一旦用户访问了带有缓存清单的页面,并且您的浏览器知道如何处理它,下次您尝试访问它时,如果您处于脱机状态,则浏览器将为您完成所有操作:https://html.spec.whatwg.org/multipage/browsers.html#offline,http://googlecode.blogspot.ie/2009/05/gmail-for-mobile-html5-series-part-3.html
相关文章:
- 如何安全地获取&使用Facebook应用程序访问令牌发送通知使用PHP&Javascript
- 通过chrome后台扩展或后台应用程序访问用户麦克风
- 三星智能电视视频播放器应用程序-访问存储在USB上的mp4
- C# - 通过控制台应用程序访问 Javascript 修改的 HTML
- 从 JavaScript 应用程序访问 SQLite 数据库
- 使用具有应用程序访问令牌的图形 API 搜索用户
- 仅允许通过本机iOS和Android应用程序访问网络链接
- 黑莓z10移动浏览器上的煎茶应用程序访问
- 通过谷歌打包的应用程序访问网站的DOM
- 使用 Web 应用程序访问本地文件系统并提取文件元数据
- 是否可以通过iOS应用程序访问rails数据库
- 从html文件夹中的HTML5桌面应用程序访问本地文件
- 如何从nodejs应用程序访问浏览器的窗口对象?
- 无法通过Lumia 520(运行Windows Phone 8.1预览版)的应用程序访问摄像头
- 如何从离线可用的web应用程序访问在线资源
- 获取Facebook用户名与javascript SDK和应用程序访问令牌
- CSS访问的链接-如何识别访问的链接,通过点击我的应用程序访问
- 如何实现OAuth 2.0,比如基于令牌的认证,用于从移动和javascript web应用程序访问的rest API
- 从同构应用程序访问导航器对象的优雅解决方案
- 如何通过javascript API验证Facebook应用程序访问公共页面feed