GM_setValue 将数据存储到 chrome 中的哪个位置。我试图确定数据的去向,但无法弄清楚。我使用进程监视器进行监控,发现当我存储一个值时,chrome 正在更新 chrome_iwoeoiifoi2h3iofhufsdfnvdf 类型的文件,我用 sqlite 浏览器打开了它,但数据不存在。我查看了所有最近修改的文件,试图找到数据但找不到。
最新的镀铬/TM。
GM_setValue 将数据存储到 chrome 中的哪个位置。我试图确定数据的去向,但无法弄清楚。我使用进程监视器进行监控,发现当我存储一个值时,chrome 正在更新 chrome_iwoeoiifoi2h3iofhufsdfnvdf 类型的文件,我用 sqlite 浏览器打开了它,但数据不存在。我查看了所有最近修改的文件,试图找到数据但找不到。
最新的镀铬/TM。
在 Tampermonkey 中,GM_setValue()
数据存储在LevelDB 数据库中,该数据库可以在用户数据目录树中找到。
一旦进入 Chrome 的“用户数据目录”(EG: C:\Users\USER_JOE\AppData\Local\Google\Chrome\User Data\Default\
),
导航到 Local Extension Settings\dhdgffkkebhmkfjojejmpbldmpobfkfo
文件夹。
(gcalenpjmijncebpfijmoaglllgpjagf
对于 Tampermonkey Beta。)
在那里你会发现一个LevelDB 数据库,通常命名为CURRENT
. 您可以使用LevelDB JSON之类的工具对其进行操作,但目前对 LevelDB 的外部支持似乎参差不齐,而且我还没有找到任何适用于 Windows 的工具(可能必须自己编译)。
从 Tampermonkey 4.3.6 开始,您可以使用内置脚本编辑器中的存储选项卡查看单个脚本的数据:(如果“存储”选项卡不可见,请编辑 Tampermonkey 设置 > 常规配置模式 > 高级)
databases\chrome-extension_dhdgffkkebhmkfjojejmpbldmpobfkfo_0
.导航到正确的文件夹后,通常会看到两个文件。在我的机器上,它们目前只是命名为4
and 6
。这些都是SQLite文件(Chrome 的 Web SQL 实现的后端),可以使用 SQLite 查看器/实用程序进行检查。
在我的机器上, (通常)较大的文件6
是一个有点令人不安的 94000 个用户脚本列表!我不确定它的用途是什么,但没有进行太多调查。
在我的机器上,较小的文件(至少最初是)4
是保存有关/用于您的用户脚本的所有信息的地方。这包括由 设置的任何数据GM_setValue()
。
例如,如果我安装并运行这个用户脚本:
// ==UserScript==
// @name _GM_setValue demo
// @match https://stackoverflow.com/questions/*
// @grant GM_setValue
// ==/UserScript==
GM_setValue ('foo', 'bar');