【问题标题】:caching images & data with phonegap locally在本地使用 phonegap 缓存图像和数据
【发布时间】: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 调用以在本地或远程获取内容,谢谢

标签: javascript ios ajax cordova slim


【解决方案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 调用从本地存储中获取数据?
  • 很好。图片缓存你可以通过画布轻松完成。
猜你喜欢
  • 1970-01-01
  • 2014-09-07
  • 1970-01-01
  • 1970-01-01
  • 2013-02-02
  • 2014-05-02
  • 2011-04-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多