我试图找出Firefox存储sessionStorage内容的位置,但一直无法找到。我希望它存在于SqLite数据库中,就像存储了localStorage内容一样,但我一直无法找到它。
到目前为止,我已经搜索了配置文件夹中的所有典型“.sqlite”文件,例如cookies.sqlite和content-prefs.sqlite等,但它们似乎没有sessionStorage数据。
我还尝试打开Firefox据称创建的特殊内存数据库 - https://developer.mozilla.org/en/XPCOM_Interface_Reference/mozIStorageService#openSpecialDatabase%28%29,但我找不到枚举数据库中存在的表的方法。我可以连接到内存数据库,但我不知道如何找出内存数据库中存在的表等......
感谢任何帮助
谢谢,
答案 0 :(得分:3)
localStorage
数据保存在file webappsstore.sqlite
in the Firefox profile中。有一个有趣的调整,主机名被还原(gro.allizom
而不是mozilla.org
),但除此之外它几乎是你所期望的。只有一个表:
CREATE TABLE webappsstore2 (
scope TEXT,
key TEXT,
value TEXT,
secure INTEGER,
owner TEXT
)
请注意,此结构可能会在未来的Firefox版本中发生变化。
对于sessionStorage
,它只需要持久保存一个浏览器会话。重新启动浏览器通常会清除它,因此不需要将其存储在数据库中。 Firefox仍然将其写入磁盘以允许恢复当前的浏览会话,即sessionstore.js
文件(JSON格式)。有一个键storage
,其值是从URL到其对应的sessionStorage
数据的映射。我不确定这些数据是否完整,但主要目的是从崩溃中恢复。