我已经使用$ cacheFactory在应用程序中添加了缓存,但是当用户关闭浏览器然后重新打开时,有关浏览产品的缓存数据将过期。

有什么办法可以延长它?放置到期日期或类似日期?

谢谢。

编辑:我可能不得不使用Breeze.js,但是在此之前,我想知道是否有人可以使用angularjs来做到这一点(我阅读了API,但没有关于它的信息:S)。

编辑2:帮助,我使用$ cacheFactory的方式是这样的JSFiddle code

factory('SomeCache', function($cacheFactory) {
    return $cacheFactory('someCache', {
        capacity: 3 // optional - turns the cache into LRU cache
    });
}).


编辑3:草坪椅不是一个选项,它存储在javascript数组中,并且在关闭浏览器后不保留数据。

最佳答案

$ cacheFactory使用内存中的浏览器存储,这意味着它即使在刷新页面时也不会持久,更不用说关闭并重新打开浏览器了。

如果要在页面加载和浏览器会话之间缓存数据,则需要使用localStorage。看到这里是一个非常简单的例子:

http://jsbin.com/acokis/2/edit

我想您应该看一下amplify.jslawnchair.js,因为它们提供了用于管理localStorage的不错的包装器,还为不支持localStorage的浏览器提供了回退适配器(回退选项不会在页面刷新期间持续存在) 。

09-27 06:12