问题标签 [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 回答
394 浏览

javascript - AngularJS LocalForage CRUD 创建问题

我正在开发一个 Ionic Framework 应用程序。我已经安装了 LocalForage,我决定将其用作离线存储的本地存储解决方案。

这是我的 app.js 中我的配置中的 LocalForage 设置:

接下来,我使用 services.js 文件中的以下代码创建了一个“表”来存储我的信息:

接下来,我在 Controller 中调用该函数:

此页面是 Master-Detail 模式的 Master 页面。在详细信息页面上,我再次“获取” $localForage 对象并向下迭代以获取我需要在详细信息页面上显示的单个文件:

好的,这一切都很好!问题是当我尝试更新 'userprojects' JSON 对象时。我使用 ng-click 调用并执行此函数:

如果我在运行广播事件后设置“console.log”来检查对象,我可以看到正确的字段已更新并变为“Magic Dolphin Event”。好的,不错!

问题是当我导航或使用“$state.go”重定向回母版页时。核心对象没有更新,如果我设置了一个console.log,调用$localForage.getItem:“userprojects”,看,它没有更新。我检查了我的代码,我只在工厂中设置了一次“userprojects”对象。我一遍又一遍地查看文档并运行所有我能想到的搜索并且没有任何运气。我是 Angularjs 新手,我怀疑我不理解某些东西,或者忽略或误解了某些东西。任何帮助表示赞赏。我做错了什么?

0 投票
0 回答
1761 浏览

angularjs - TypeError:无法读取未定义的属性“配置” - angularjs localforage

我正在尝试从此链接中获取 angular localforage 的基本示例

但我得到以下错误:

TypeError:无法在 angular.js 的 Object.invoke (angular.js:4203) 的 $get (angular-localForage.js:460) 处读取新 LocalForageInstance (angular-localForage.js:51) 的未定义属性“配置”: 4021 at getService (angular.js:4162) at Object.invoke (angular.js:4194) at angular.js:6524 at forEach (angular.js:323) at Object. (angular.js:6522) 在 Object.invoke (angular.js:4203)

我已经配置了以下代码:

我是 angularjs 的新手并尝试使用本地存储。我发现 localForage 有很多功能。请帮我解决这个问题。

0 投票
2 回答
545 浏览

javascript - 有什么方法可以查明 localForage/indexedDb 是否正在处理数据?

所以我有这个webapp,我使用的是异步localForage(具体来说是角度localForage)。现在,如果用户尝试关闭浏览器窗口,而仍有一些 localForage 操作正在进行,我想警告用户。

我知道至少浏览器知道,因为在 Firefox 中,如果我关闭窗口,它会给我一个警告(尽管在我再次打开窗口之后)一些 indexedDb 操作已被取消(localForage 使用 indexedDb)。

0 投票
1 回答
804 浏览

javascript - 保存 Chrome 扩展数据(使用 LocalForage)

我是 web 和 chrome 扩展开发的新手,我正在尝试使用 localForage API 来存储我的 chrome 扩展的数据 - 目前每次切换到新标签时我都会丢失所有内容,但我希望数据一直保留到用户明确清除一切都结束了(所以即使在多个会话等)

我决定试一试 localForage api(因为它应该像 localStorage 但更简单)并且觉得我错过了一些重要的东西——我可以毫无问题地 setItems/getItems 但它实际上并没有保存任何数据。

在切换标签(以及多个浏览会话)时,我究竟如何确保我的数据保持不变?

使用 localForage.getItem/setItem- 这似乎在使用数据方面有效,但在我切换选项卡时没有做任何事情来保存它

0 投票
1 回答
740 浏览

local-storage - 如何将大型 (2Mb) 数据集存储在持久性本地存储中?

我正在从 Firebase 数据库中检索大型活动的参与者列表 - 大约 4,000 名参与者。每个都表示为大约 500 字节的 JSON 对象。

检索数据集后,我试图将其存储在持久的本地存储中。最初,我尝试使用 Lawnchair.js 使用标准 DOM 存储(localStorage)。

我观察到的是,在使用这种方法插入数据集时,Chrome 的内存使用量上升到大约 2GB。此外,由于保存到 localStorage 是同步的,这会阻塞 DOM,并且应用程序会在 30 秒内无响应。

我认为这可能是 Lawnchair 问题,所以我现在尝试使用 IndexedDB 切换到 localForage。这有两个很大的改进:

  1. localForage 是异步的,因此应用程序保持响应
  2. 内存使用量根本没有攀升

但是,将数据写入索引数据库大约需要10 分钟。前 5 分钟,CPU 处于 30% 左右,没有任何内容写入索引数据库。最后 5 分钟 CPU 停机,写入速度缓慢(可能 10 条记录 / 秒)。

因此,我的问题是:这些行为是否正常,如果是,我怎样才能将这些数据(大约 2Mb)存储在持久的本地存储中,而不需要花费很长时间或消耗大量内存?

0 投票
1 回答
310 浏览

requirejs - localforage 与 Require.js

我正在尝试使用 require.js 加载localforage库,但无法正常工作。这是我的 require.js 配置:

主.html:

主.js:

但是当我后来像这样使用 localforage

它总是未定义的。顺便提一句。与Dexie我有同样的问题。当我从自述文件中添加以下代码时

我从 requirejs.org/docs/errors.html#mismatch 收到错误,但这是什么意思?有人可以向我解释一下吗?我真的不明白。

0 投票
1 回答
314 浏览

trigger.io - iPad 应用程序的 localForage 数据将存储在哪里?

我了解 localForage 如何与浏览器协同工作,但不太确定它将如何作为混合 iPad 应用程序的一部分进行交互。本身没有浏览器来存储数据,所以我想知道使用 localForage 是否仍允许我的数据离线可用。

0 投票
2 回答
93 浏览

javascript - 如何使用 localforage 开发 Firefox Add-on SDK 扩展

我正在尝试开发一个使用 localforage 库保存数据的 Firefox Add-on SDK 扩展,但出现以下错误:

我使用 npm 安装了 localforage。

我认为问题可能是由于 localforage 中的这个问题。有解决方法吗?

0 投票
3 回答
852 浏览

typescript - angular2/typescript 项目中未定义的变量 localforage

我在将 localForage 添加到我的 angular2-seed 项目(使用打字和 webpack)时遇到问题。我是打字和angular2的新手。

使用 typings 命令,我将 Typescript 定义添加到typings.json

在我的vendor.ts文件中我添加了

在我的service.ts文件中,我的 IDE 可以解析导入并自动完成

但是当我运行应用程序时,导入的 localforage 是undefined

有什么建议吗,谢谢!

0 投票
2 回答
720 浏览

javascript - localForage setItem/getItem 在 Firefox / FireStorage Plus 中不可靠

我正在加载 localForage 的本地实例并将其与 Promise 链一起使用以保存基本数据。一个简单的例子:

当我进入 FF Dev-Tools 检查 FireStorage Plus 时,问题就来了!并且看不到与保存/设置数据相关的任何内容。但我在 Chrome 中做得很好。应该有几个保存的项目。

我一直在替换 localStorage(仅适用于 Firefox 呃),并且有点困惑为什么他们自己的包装器没有显示在这个 FF 特定扩展中以访问本地数据库实例。然而,它显示了 key、getItem、clear 和 all。

任何想法为什么会发生这种情况?我完全期待看到一些东西,并且我相信我正在寻找正确的位置。(下面的屏幕截图)它似乎也没有从 .getItem 请求中加载数据。

我正在使用一些 AJAX 来访问处理 localForage 的子目录中的其他文件,但它们位于同一个域/端口上。我可以以某种方式在另一个范围内工作吗?我怎么会知道?

非常感谢您的帮助!

在此处输入图像描述

在 Chrome 中,我看到了这一切……

在此处输入图像描述

但不在列出的任何范围内的 FF 中...

在此处输入图像描述