在 Tampermonkey 中,GM_setValue() 数据存储在 LevelDB database 中,可以在 the User Data Directory 树中找到。
曾经在 Chrome 的“用户数据目录”中(例如:C:\Users\USER_JOE\AppData\Local\Google\Chrome\User Data\Default\),
导航到Local Extension Settings\dhdgffkkebhmkfjojejmpbldmpobfkfo 文件夹。
(gcalenpjmijncebpfijmoaglllgpjagf 用于 Tampermonkey Beta。)
在那里你会找到一个LevelDB database,通常命名为CURRENT。您可以使用 LevelDB JSON 之类的工具对其进行操作,但目前对 LevelDB 的外部支持似乎参差不齐,而且我还没有找到任何适用于 Windows 的工具(可能必须自己编译)。
你也可以use the Chrome Storage Area Explorer extension to explore the data。
从 Tampermonkey 4.3.6 开始,您可以在内置脚本编辑器中使用存储选项卡查看单个脚本的数据:(如果“存储”选项卡不可见,编辑 Tampermonkey Settings > General Config mode > Advanced)
旧,2015 年 11 月之前:
- 之前,大约在 2015 年 11 月,数据存储在 Web SQL database 中的
databases\chrome-extension_dhdgffkkebhmkfjojejmpbldmpobfkfo_0 中。
导航到正确的文件夹后,您通常会看到两个文件。在我的机器上,它们目前只是命名为4 和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');
然后我检查文件 `4` 中的 `config` 表,我会看到四个这样的条目:
[![示例脚本的数据库条目][8]][8]
你想要的是 `@st` 行。请注意它是如何编码“GM_setValue”数据的? :