![](/img/trans.png)
[英]Get size of browser.storage.local in Firefox via WebExtensions
[英]Inspect Firefox WebExtensions storage.local
WebExtensions可以在其storage.local中本地存储数据。 显然它是一个键值存储,值可以是原始类型(如数字,布尔值和字符串)或数组类型。
我想检查一下特定的WebExtension(不是由我制作)在这个区域中存储的内容。
如何才能做到这一点?
可以自动化的方法的奖励,允许我从bash
脚本中提取数据。 但GUI解决方案也是非常可接受的。
在Firefox中
about:debugging
进入导航栏并按Enter键 Enable add-on debugging
debug
链接。 Incoming Connection
提示。 单击“ OK
以允许它。 Console
选项卡 粘贴以下代码以获取storage.local
内容:
chrome.storage.local.get(null, function(items) { console.log(items); });
编辑:
如果要下载对象,可以对其进行字符串化,从中创建blob,然后从blob创建数据URL并在新选项卡中打开或下载。 像这样:
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调用...
要从Bash访问数据,您可以尝试从扩展的storage.js文件中读取它。 您应该在主目录(Linux)中找到它。 对我来说,它位于: ~/.mozilla/firefox/{profile}/browser-extension-data/{extension}/storage.js
。 在Windows上它将在appdata中的某个地方。 在OS XI上不知道。
storage.js
文件是一个json文件。
我不会依赖于将来的工作。 Firefox可能会在某些时候切换到以加密格式存储数据。 也不要依赖于最新的数据。 Firefox可能无法立即将存储与磁盘上的文件同步。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.