WebExtensions可以在其storage.local中本地存储数据。显然它是一个键值存储,值可以是原始类型(如数字、布尔值和字符串)或数组类型。
我想检查一个特定的WebExtension (不是由我制造的)存储在这个地区的东西。
这是如何做到的呢?
对于可以自动化的方法,我可以从bash脚本中提取数据。但是GUI解决方案也是可以接受的。
发布于 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可能不会立即将存储与磁盘上的文件同步。
发布于 2018-04-11 09:28:05
在Firefox中
about:debugging并按回车Enable add-on debuggingdebug链接。Incoming Connection提示符。单击OK允许它。Console选项卡storage.local内容:
chrome.storage.local.get(null,函数(项){console.log(项);});编辑:
如果您想下载对象,您可以对它进行字符串化,从它创建一个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调用,提交post正文中的数据.
https://stackoverflow.com/questions/49753389
复制相似问题