首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检查火狐WebExtensions storage.local

检查火狐WebExtensions storage.local
EN

Stack Overflow用户
提问于 2018-04-10 12:14:28
回答 2查看 1.5K关注 0票数 4

WebExtensions可以在其storage.local中本地存储数据。显然它是一个键值存储,值可以是原始类型(如数字、布尔值和字符串)或数组类型。

我想检查一个特定的WebExtension (不是由我制造的)存储在这个地区的东西。

这是如何做到的呢?

对于可以自动化的方法,我可以从bash脚本中提取数据。但是GUI解决方案也是可以接受的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-11 14:09:20

要从Bash访问数据,可以尝试从扩展名的storage.js文件中读取数据。您应该在您的主目录(Linux)中找到它。对我来说,它是在:~/.mozilla/firefox/{profile}/browser-extension-data/{extension}/storage.js。在Windows上,它将位于appdata的某个地方。在OS上我不知道。

storage.js文件是json文件。

我不会依赖于未来的工作。Firefox可能会在某个时候切换到以加密格式存储数据。也不要依赖于最新的数据。Firefox可能不会立即将存储与磁盘上的文件同步。

票数 1
EN

Stack Overflow用户

发布于 2018-04-11 09:28:05

在Firefox中

  • 在导航栏中输入about:debugging并按回车
  • 检查页面顶部的Enable add-on debugging
  • 在下面,您可以看到所有已安装扩展的列表。找到要检查的那个,然后单击它的debug链接。
  • 将显示一个Incoming Connection提示符。单击OK允许它。
  • 在新的弹出开关中切换到Console选项卡
  • 在这里,可以在扩展的上下文中执行代码。
  • 粘贴以下代码以获取storage.local内容: chrome.storage.local.get(null,函数(项){console.log(项);});

编辑:

如果您想下载对象,您可以对它进行字符串化,从它创建一个blob,然后从blob创建一个数据URL,然后在一个新的选项卡中打开它,或者下载它。如下所示:

代码语言:javascript
运行
复制
chrome.storage.local.get(null, function(items) {
    var blob = new Blob([JSON.stringify(items, null,'  ')], {type: "text/plain"});
    var url = URL.createObjectURL(blob);
    chrome.tabs.create({ url: url }); // requires that the extension has the "tabs" permission
    //chrome.downloads.download({ url: url }); // requires that the extension has the "downloads" permission
});

目标扩展需要具有打开选项卡的“选项卡”权限或启动下载的“下载”权限。您还可以寻找访问数据的其他方法。例如,通过"browserAction"/"pageAction"-popup或通过向外部服务器发送ajax调用,提交post正文中的数据.

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49753389

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档