问题标签 [google-chrome-storage]

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 投票
0 回答
230 浏览

javascript - 从 chrome 应用程序存储中的嵌套对象获取内部对象

我在 chrome 本地存储中有一个类型的 JavaScript 对象

对象中有很多内部对象obj。现在我的目标是专门访问e对象的属性b并更改它。我尝试了最基本的方法,即获取整个obj使用chrome.storage.local.get('settings')然后更改obj.settings.b.e值并将其保存回来。因为,大小obj可以很大,我不想将整个对象提取到内存中。是否有任何官方手段(最好)或黑客访问嵌套对象结构中的内部对象?

0 投票
1 回答
148 浏览

javascript - Chrome.fileSystem 将数据存储在文件中

我正在尝试使用 chrome.fileSystem api 将从 Chrome 地理定位 api 收集的数据保存到一个 txt 文件中,但是虽然我能够为此目的创建一个文件,但该文件在过程结束时仍然是空的。为简单起见,我首先尝试在文件中添加一个字符串 (1234567890)。正如您在代码中看到的那样,我添加了几个 console.log 来调查代码中的哪些行不执行,并且似乎代码没有从 writableFileEntry.creatrwriter() 向下执行。

manifest.json 文件如下所示:

任何指导或建议都会很棒!谢谢奥弗

0 投票
1 回答
1444 浏览

google-chrome-extension - 在 Chrome 扩展中向数组添加新元素

我遇到了最困难的问题,这应该是一个简单的问题。我正在编写一个 chrome 扩展,它使用一个数组来存储用户的单词列表。在启动时,我检查已经过去了多少时间,以便可以将适当数量的单词添加到数组中。我在这里按照代码如何将值推送到 Chrome 存储,如下所示:

但是无论我做什么以及调用这个函数多少次,我都只会得到添加到数组中的函数的最后一次调用。例如,如果这是我要开始的“myWords”数组:

然后我打电话给

我会留下一个包含两个项目的数组,[“dog”,“cat”]。我没有看到的代码有问题吗?谢谢

编辑:对于在设置异步回调方法后遇到同样问题的任何人,请注意 storage.local 和 storage.sync!异步不起作用,因为我在控制台中设置本地并检查同步(这就是新值不存在的原因)。感谢大家的帮助。异步建议和使用相同的存储使其完美运行!

0 投票
3 回答
3715 浏览

javascript - 在 devtools 中检查扩展的 chrome.storage

Chrome DevTools 有一个方便的本地存储和会话存储检查器,但是没有什么可以检查chrome.storage.sync吗?

在此处输入图像描述

chrome://sync-internals/似乎没有显示每个扩展同步存储的实际内容。

0 投票
2 回答
241 浏览

javascript - 是否有任何插件可以加密/解密 base64 URL?

我创建了一个 chrome 应用程序,我想使用 chrome.Storage.local API 存储视频文件的加密 base64 URL,以便没有人可以使用该 URL 在离线模式下播放该视频,只有经过身份验证的用户才能播放。

我搜索了 chrome.Storage API,在那里我找到了“不应存储机密用户信息!存储区域未加密”的语句。这就是为什么我要加密那个base64 url​​。

谢谢。

0 投票
1 回答
501 浏览

javascript - chrome.storage 中如何使用“命名空间”?

我似乎在 chrome.storage 的命名空间部分找不到任何文档。它是如何使用的?

我正在开发一个已拆分为“模块”的扩展,从某种意义上说,用户可以启用和禁用它的某些部分,并且它们都有不同的设置。将它们的设置放在不同的命名空间中是否有意义?

任何帮助表示赞赏

0 投票
1 回答
1051 浏览

javascript - Chrome.storage 将值附加到对象

我有以下行为异常的代码块:

我的目标是从存储中取出“数据”键值对,使用 url 键和分钟值向该对象添加新索引,然后用新值替换以前的“数据”值。

相反,我正在创建一个嵌套结构,该代码第一次正确执行,但在随后的添加中,对象内部变成嵌套的“数据”块,如下所示:

虽然我期望的是

0 投票
1 回答
246 浏览

javascript - 将对象保存到 Chrome 存储,但在检索时返回不同的结果

我正在使用一个包含书签标记系统信​​息的对象,该系统需要在 Chrome 会话中持续存在,因此我试图将其保存到本地存储中,并在创建新书签时对其进行更新。

当我创建一个新书签时,我会触发一个函数来查看现在是否有任何其他书签与新书签具有相同的标签。这将书签组织成“标签组”,其功能类似于动态文件夹。

当我设置存储对象时,正在存储的对象具有我期望的所有数据。但是,一旦我从存储中取出同一个对象,其中一个嵌套对象就会神秘地变成null. 请参阅控制台输出:顶部对象就在 function 中的 set 调用之前updateStorage。当我从存储中“获取”该对象时,底部是我得到的。请注意 tagGroups 书签现在为空。书签本身仍然存在,只是在标签组对象中它们才会消失。我花了一整天的时间来解决这个问题,试图让它发挥作用。

控制台输出

这是模型代码。我包含了上下文的所有内容,但最相关的部分是 createNewBookmark、updatePrimaryTreeWithTagGroups 和 updateStorage 方法。

更新:在设置/从存储中获取任何内容之前,我已经编辑了代码以对书签树进行所有更改,然后使用生成的对象进行最终调用以更新存储。我实际上是在存储一件事,一次,然后在我尝试检索时取回另一件事。

0 投票
1 回答
2163 浏览

javascript - 你如何从 chrome.storage 中检索这个值?

我是 Javascript/JSON 的真正菜鸟,所以这可能非常明显。我将值存储到 chrome.storage 的 chrome 扩展 JS 文件中:

我知道它已正确传递,因为 console.log 返回正确的值。

然后我尝试在我的内容脚本中检索它,但它只返回 [object Object]。

我不确定它为什么这样做。

0 投票
1 回答
4688 浏览

javascript - Chrome 扩展存储大量数据

我正在寻找一种在我的 chrome 扩展中存储大量数据的有效方法。我有一些大约 1-2mb 的 txt 文件。我希望我的 chrome 扩展在本地“缓存”它们,所以我不需要每次都获取它们。我找到了 syncFileSystem但这仅适用于打包的应用程序。

尝试安装此扩展时出现警告:

'syncFileSystem' 只允许用于打包的应用程序,但这是一个扩展。

将此类数据存储在 chrome 扩展中的最佳方法是什么?

清单.json