问题标签 [localforage]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4085 浏览

ionic-framework - Ionic 移动应用程序的 LocalForage 大小限制

我正在使用 Ionic 框架构建一个移动应用程序。我的应用大量使用离线数据库。我的第一次尝试是使用使用 localStorage 的ngStorage,但过了一会儿我达到了大约 5MB 的大小配额限制。所以我看了一下angular-localForage,里面写着:

将数据存储在浏览器可以提供的最佳可用存储解决方案中(IndexedDB / WebSQL 或 localstorage 作为后备)

现在对于我的多平台移动应用程序,这是否意味着它将使用在存储数据方面具有更高大小限制的 IndexedDB?还是它会使用 localStorage 而我又回到了原点?

如果是IndexedDB,是否有关于我的移动应用程序可以存储多少实际数据的文档?

如果localForage处理大小限制,那就太好了,因为它存储数据的方式非常适合我的应用程序,但我想知道是否有人在他们的应用程序中使用了 localForage,而不必担心他们的数据库大小达到限制。

除了关系 sqlite 之外,我也对任何替代方案持开放态度,因为我想要一种面向对象的方法。(以 PouchDB 为例)

0 投票
2 回答
1928 浏览

javascript - localForage 使用 WebSQL web IndexedDB 可用

我正在使用 Ionic 框架构建一个 Cordova 应用程序。我使用angular-localForage作为应用程序持久存储的本地数据库。

在开发过程中,我在 Windows 10 上使用 Google Chrome 45.0.2454.85 m 测试我的应用程序。angular-localForage 版本为 1.2.3,localForage 版本为 1.2.4。

我可以设置和检索数据没有问题。要设置我正在使用的数据:

根据docs,localForage 应该使用 IndexedDB 如果它可用,并在它不可用的浏览器中回退到 WebSQL。通过查看 Chrome 开发人员工具中的资源,我可以看到它将我的数据存储在 WebSQL 中。

如果我将此代码放在我的控制器中,我会收到一条消息说 IndexedDB 可用:

我的问题是,当我有 IndexedDB 可用时,为什么它在 Chrome 中使用 WebSQL?

0 投票
2 回答
3186 浏览

javascript - 使用 localforage 更新一项

我有一个像这样的本地 indexeddb:

我想更新这个数组的一项。例如:

offre_cli: 'offre 3' -> offre_cli: 'offre 4'

我已经尝试了下面的代码,但它删除了以前的数组。:

可以更新单个项目而不更新所有数组吗?

0 投票
1 回答
140 浏览

ember.js - 使用 ember-localforage-adapter 在 Firefox OS 上没有持久数据

我在使用这个适配器时遇到了问题。我是 Ember 的菜鸟,所以这可能是(也可能是)我的错误......

Ember 1.13.8 Ember Localforage 适配器 1.13.1

  • 添加一个条目很好 - 调用适配器。
  • 启动应用程序时不调用适配器。
  • 重新加载应用程序时数据丢失。

https://github.com/zalun/stereophoto/tree/master/ember-stereophoto

0 投票
1 回答
115 浏览

clojurescript - 将 localforage 与 clojurescript 一起用于 firefoxos

我在用着[cljsjs/localforage "1.2.10-0"]

当我做:

我在 WebIDE 控制台中收到此错误:

如果我在 Firefox 浏览器中测试它,它会说同样的话,而如果我在控制台中引入window.localforage.setItem()它,它可以工作:|

奖励:每次我用 lein cljsbuild auto 编译时,我都会得到这个:

0 投票
0 回答
85 浏览

javascript - DOMError 什么时候发生?

我在尝试捕获此错误时遇到问题。我有一个 Backbone Marionette 应用程序,它与 browserify / gulp 和 Ecma5 一起使用。

我们还使用了 localforage,它实际上将一些信息保存在 localstorage / cookies / indexdb 中,用于一些持久性客户端。

在多台计算机上进行多次测试后,在某些计算机上,我们得到一个 DOMError 并显示以下消息,留下一个空白页

vendor 是所有外部库 localforage / 骨干木偶 / jquery 等的捆绑包......而 app 是我们的捆绑包。

提示:我相信在使用 localforage 和 indexdb 时会出现此错误,在删除 cookie 并删除本地存储后,我们不会再次出现此错误。

0 投票
1 回答
735 浏览

javascript - DOMError localforage indexeddb 案例?

今天我遇到了一个错误类型:DOMerror 异常抛出。将浏览器留在空白页面。

在做了一些研究之后,我在 w3c 中看到它应该专门用于 indexeddb 异常。我实际上删除了 cookie 清除本地存储和缓存。而且问题不再发生。

这是我在此问题发生时掌握的更多信息:

消息:“请求的版本 (1) 小于现有版本 (2)。”

(匿名函数)@app.js?0.1:1

(匿名函数)@vendors.js?0.1:16229

冲洗@vendors.js?0.1:16513

drainQueue@vendors.js?0.1:14819 DOMError

供应商是捆绑包中的第三方库,而 app 是我的应用程序捆绑包。

我现在正在尝试重现该错误,但很难重现,因为它看起来像是对客户端上的持久性数据的错误处理,并且客户端已清理 cookie/缓存/本地存储以继续工作。

使用 localforage 时,应用程序何时会抛出 Dom 错误异常?

0 投票
1 回答
1134 浏览

angularjs - 如何在 jasmin-karma 单元测试中为 LocalForage.getItem() 方法创建一个模拟?

模拟 localForage.getItem 方法的最佳方法是什么?我只需要在调用 localForage.getItem 时简单地返回一个示例对象。

0 投票
2 回答
661 浏览

javascript - localForage 在 Chrome 中查找数据,而不是在 Firefox 中

我在使用 localForage 的 Firefox 中遇到了一些特殊的行为。我使用标准的“setItem”表单设置了一个页面来加载两个数组:

阵列已正确保存。

然后我制作了第二页,使用完全相同的“getItem”函数。

在 Chrome 中,数据显示出来了,但在 Firefox 中,它根本没有列出,也无法打开。

有没有其他人经历过这个?在 Firefox 中,即使在同一会话中打开第二页也无法找到保存的文件。我尝试更改 security.fileuri.strict_origin_policy,但没有任何区别。

我宁愿使用 Firefox,但如果它不断丢失保存的数据,我就不能。

0 投票
1 回答
700 浏览

angularjs - 在 webpack 中使用 Angular 和 localForage

我正在尝试收集angularlocalForageangular-localForagewebpack。我的要求文件看起来像这样,

angular-resourceangular-ui-router并且ui-bootstrap工作得很好,但是当我需要时angular-localForage事情开始变得复杂。我的webpack.config.js长相是这样的

当我运行应用程序时,在控制台上我看到了这个错误

发生在angular-localForage代码的第 1 行

这意味着angular没有进入该范围。我试过了imports-loaderexports-loader但没有成功。

有什么想法应该怎么做?