如何使用PhoneGap/Cordova在本地缓存图像文件?

eng*_*nws 17 javascript caching cordova

这是我的问题:

我使用AngularJS和Cordova制作了一个Web/Mobile应用程序.出于离线目的,我使用localStorage存储应用程序的所有数据(JSON,参数等).

问题是:我需要在本地存储/缓存图像(再次,离线目的).由于localStorage大小限制大约是5mo,我不能使用它,我需要更多.

我以为我可以使用缓存清单,但它不起作用,因为我需要定期更新它,而无需重新编译应用程序(我以为我可以将缓存清单放在外部服务器上,但它就像我不能使用来自另一个域的缓存清单).

所以我正在考虑使用Cordova/Phonegap File API,但我不知道如何实现 ......

任何帮助或想法?

eng*_*nws 26

在SO和Github上搜索了很长时间之后,我找到了imgCache.js,这是一个处理Chrome,Android和iOs(通过Cordova)文件缓存的JS库.

https://github.com/chrisben/imgcache.js/

然后,基本上:

var target = $('.cached-img');

ImgCache.isCached(target.attr('src'), function(path, success){
          if(success){
            // already cached
            ImgCache.useCachedFile(target);
          } else {
            // not there, need to cache the image
            ImgCache.cacheFile(target.attr('src'), function(){
              ImgCache.useCachedFile(target);
            });
          }
        });
Run Code Online (Sandbox Code Playgroud)