GM_setValue将数据存储在chrome中。我试图确定数据的去向,但无法弄明白。我用进程监视器进行监视,看到当我存储一个值时,chrome正在更新chrome_iwoeoiifoi2h3iofhufsdfnvdf类型的文件,我用sqlite浏览器打开它,但数据不存在。我查看了所有最近修改过的文件,试图查找数据但找不到它。
最新的chrome / TM。
答案 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开始,您可以在内置脚本编辑器中使用存储选项卡查看单个脚本的数据:
databases\chrome-extension_dhdgffkkebhmkfjojejmpbldmpobfkfo_0
的{{3}}中。导航到正确的文件夹后,您通常会看到两个文件。在我的计算机上,它们目前只是名为4
和6
。这些都是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
表,我会看到四个这样的条目:
你想要的是@st
行。请注意它是如何编码GM_setValue
数据的? :