Cordova 应用程序正在 Android 应用程序的数据空间上使用 AJAX 保存 DOM 加载的数据

Posted

技术标签:

【中文标题】Cordova 应用程序正在 Android 应用程序的数据空间上使用 AJAX 保存 DOM 加载的数据【英文标题】:Cordova app is saving DOM loaded data using AJAX on Android app's Data space 【发布时间】:2015-01-17 06:49:29 【问题描述】:

我的 Cordova+JQM 应用程序有多个模板(跨子页面和多个 html 文档),其中填充了使用 AJAX 请求的数据。我的问题是,每次我在模板中加载数据时,我的应用程序的大小都会增加,不管我之前是否打开过它。并且应用的细节并没有显示Cache增加,而是Data增加。缓存是最小的,例如几 kb,但数据以 MB 为单位。

启用了 JQM 的 data-dom-cache。我什至尝试在离开模板(即从一个 HTML 文件到另一个 HTML 文件)之前调用一个函数来清空 DOM 数据,如下所示:

$( document ).on( "pagecontainerbeforehide", function() 
  console.log("gonna leave");    
  $("#page-container").empty();
 );

但它没有用。事实上,我在离开时无法调用任何事件(转到另一个 HTML 文档)。

【问题讨论】:

【参考方案1】:

问题是,Cordova 通过 AJAX 接收到的任何内容都被缓存到 app_webview/Cache 中。 所以,我尝试使用 File API 删除内容,但不知何故它一直失败;给出了一些未知错误,因此无法调试。

但是这个插件做到了:https://github.com/Sharinglabs/cordova-plugin-cache。它与 Cordova 3.3.1 及更高版本兼容。它适用于我的 Cordova 4.2.0 应用程序。

【讨论】:

以上是关于Cordova 应用程序正在 Android 应用程序的数据空间上使用 AJAX 保存 DOM 加载的数据的主要内容,如果未能解决你的问题,请参考以下文章

Cordova 应用程序正在 Android 应用程序的数据空间上使用 AJAX 保存 DOM 加载的数据

Android 应用 (Cordova) 上的文本区域中的字数超出限制

使用cordova将图片从android画廊分享到cordova应用程序

导入的 Cordova android 应用程序的应用程序名称问题

Cordova - 由于联系权限,Android 应用程序在启动时崩溃

离子应用程序:Android --livereload 显示 cordova 不可用错误