【发布时间】:2013-04-08 02:04:09
【问题描述】:
我有一个使用 Phonegap 和 Android 构建的简单 Web 应用程序,它从服务器调用外部资源(js、css、html),而不是将其存储在 Phonegap 资产文件夹中。我更喜欢使用外部资源,因为我的服务器可以提供负责国际化的 html 页面。
当 WIFI 开启时,此网络应用程序在我的 android 设备上运行良好,但在停止 WIFI 时失败。我的服务器提供的 index.html 文件包含一个有效的 manifest 文件,该文件具有正确的 mimetype('text/cache-manifest'),其中列出了应用程序需要运行的每个文件。
我的 Android Activity 类应该启用缓存:
this.appView.getSettings().setDomStorageEnabled(true);
this.appView.getSettings().setAppCacheMaxSize(1024 * 1024 * 15);
String appCachePath = getApplicationContext().getCacheDir().getAbsolutePath();
this.appView.getSettings().setAppCachePath(appCachePath);
this.appView.getSettings().setAllowFileAccess(true);
this.appView.getSettings().setAppCacheEnabled(true);
值得一提的是,我的应用程序使用带有 /aaa/bbb/ 之类的 URL 的 ajax 调用从服务器调用网页,我不知道这是否是问题所在(我不会像索引那样直接调用物理页面.html)...但是,此网络应用在离线时在桌面浏览器 (Google Chrome) 中运行良好...
知道我还能做些什么来在我的 Phonegap 应用上启用此 HTML5 缓存功能吗?
非常感谢
【问题讨论】:
标签: android html cordova cache-manifest