在本地使用 phonegap 缓存图像和数据

Posted

技术标签:

【中文标题】在本地使用 phonegap 缓存图像和数据【英文标题】:caching images & data with phonegap locally 【发布时间】:2013-06-26 12:24:18 【问题描述】:

我有一个 phonegap 应用程序使用 slim 和 ajax 前端。当我列出某个页面时,我想缓存数据,然后使用它直到用户刷新或发送新数据的触发器。

到目前为止,我有这个用于缓存 json 数据: //将JSON数据缓存到本地存储中

try 
                                localStorage.setItem('cachedProducts', JSON.stringify(data));
                                JSON.parse(localStorage.getItem('cachedProducts'));
                                var bar = localStorage.getItem('cachedProducts');
                                clog(bar);

                             catch (e) 
                                clog("didn't work");
                            

它有效。但我不知道如何保存图像或如何触发服务器获取新数据。谢谢。

【问题讨论】:

格式很差的问题。请清楚你想要什么。 我希望能够修改我的 ajax 调用以在本地或远程获取内容,谢谢 【参考方案1】:

如果您需要保存少量图像,则可以将其转换为 base64 字符串并将其存储到本地存储中。您可以使用画布将图像转换为 base64 字符串。如果用户尝试刷新内容,那么您连接到服务器并缓存最新的内容。

【讨论】:

好的,谢谢,但听起来不错,但我将如何访问和显示内容?我已经设置好了所有东西,但这部分 $.ajax( type: "GET", url: "" data: data, dataType: "json", cache: false, 我想自定义这部分,所以 ajax 要么在本地获取数据或从服务器获取。 k 你可以检查本地存储是否有数据如果本地存储没有数据然后从服务器请求它下面是代码 if(localStorage.getItem('cachedProducts')) //get来自本地存储的数据 else //使用 ajax 调用从服务器请求 酷,谢谢。我试图看看我是否可以对远程和本地进行可切换的 ajax 调用,但我想,这很荒谬:) 你能解释一下你想对远程和本地的可切换ajax调用做什么吗?我不明白那部分。您是否尝试使用 ajax 调用从本地存储中获取数据? 很好。图片缓存你可以通过画布轻松完成。

以上是关于在本地使用 phonegap 缓存图像和数据的主要内容,如果未能解决你的问题,请参考以下文章

Cordova/Phonegap/Ionic App - 远程图像的本地存储

使用 PhoneGap 从 img 标签本地保存图像

Phonegap CLI 构建插件缓存?

使用 allowEdit 标志在 phonegap 中本地裁剪图像

将使用相机拍摄的照片捕获并存储到本地数据库/PhoneGap/Cordova/iOS

将图像保存在本地存储phonegap中