GM_setValue在哪里存储数据?

时间:2013-05-29 20:58:47

标签: google-chrome tampermonkey

GM_setValue将数据存储在chrome中。我试图确定数据的去向,但无法弄明白。我用进程监视器进行监视,看到当我存储一个值时,chrome正在更新chrome_iwoeoiifoi2h3iofhufsdfnvdf类型的文件,我用sqlite浏览器打开它,但数据不存在。我查看了所有最近修改过的文件,试图查找数据但找不到它。

最新的chrome / TM。

1 个答案:

答案 0 :(得分:19)

在Tampermonkey中,GM_setValue()数据存储在可以在LevelDB database树中找到的the User Data Directory中。

进入Chrome的“用户数据目录”(EG:C:\Users\USER_JOE\AppData\Local\Google\Chrome\User Data\Default\),

导航至Local Extension Settings\dhdgffkkebhmkfjojejmpbldmpobfkfo文件夹

(Tampermonkey Beta的gcalenpjmijncebpfijmoaglllgpjagf。)

在那里你会找到LevelDB database,通常名为CURRENT。您可以使用LevelDB JSON之类的工具对其进行操作,但对LevelDB的外部支持目前似乎很不稳定,我还没有找到任何适用于Windows的工具(可能需要编译自己的工具)。

您也可以use the Chrome Storage Area Explorer extension to explore the data

从Tampermonkey 4.3.6开始,您可以在内置脚本编辑器中使用存储选项卡查看单个脚本的数据:

Script Storage editor




OLD,2015年11月前:

  • 之前,大约在2015年11月,数据存储在databases\chrome-extension_dhdgffkkebhmkfjojejmpbldmpobfkfo_0的{​​{3}}中。

导航到正确的文件夹后,您通常会看到两个文件。在我的计算机上,它们目前只是名为46。这些都是Web SQL database文件(Chrome的Web SQL实现的后端),可以使用SQLite查看器/实用程序进行检查。

我的机器上的(通常)较大的文件6是一个令人不安的94,000个用户脚本列表!我不确定它的用途是什么,但没有多大的调查。

我的机器上的较小文件(最初至少是)4是保存用户脚本的所有信息的地方。这包括GM_setValue()设置的任何数据。


例如,如果我安装并运行此用户脚本:

// ==UserScript==
// @name     _GM_setValue demo
// @match    https://stackoverflow.com/questions/*
// @grant    GM_setValue
// ==/UserScript==

GM_setValue ('foo', 'bar');


然后我检查文件config中的4表,我会看到四个这样的条目:

SQLite


你想要的是@st行。请注意它是如何编码GM_setValue数据的? :

DB entries for sample script