2

Basically the question title. It would greatly benefit me. I want to be able to access GM_getValue outside of my userscript for debugging purposes, or, at the very least, the values and names themselves.

I am in Chrome on Windows 10.

Mattwmaster58
  • 2,266
  • 3
  • 23
  • 36

1 Answers1

4
  • Latest Tampermonkey beta (and eventually normal Tampermonkey) displays the GM values in its dashboard script editor in Storage tab.

  • Visual method: use Storage Area Explorer extension:

    1. Open the Tampermonkey dashboard page and invoke devtools by F12 or CtrlShifti
    2. In Storage Area Explorer panel scroll to the bottom to find the @uid# of your script by name, then find its data in @st# key with that UID:

      SAE


  • Dumping in the console:

    One-time setup: add a new code snippet in devtools - Sources - Snippets subpanel and save it:

    function dumpGM_data(scriptName) {
        chrome.storage.local.get(null, data => {
            const UID = Object.keys(data).find(k => k.startsWith('@uid#') &&
                                                    data[k].value == scriptName);
            if (UID)
                console.log(data[UID.replace('@uid', '@st')].value.data);
        });
    }
    
    1. Open the Tampermonkey dashboard page and invoke devtools by F12 or CtrlShifti
    2. open and run that snippet: CtrlEnter - it'll be usable until you close the dashboard page
    3. invoke it in the console:

      dumpGM_data('SE Preview on hover')
      

  • Inspect/dump/edit the database file directly:

    Use any LevelDB tool you can find (or compile one yourself) on the ldb database file under Chrome user profile directory in Local Extension Settings/dhdgffkkebhmkfjojejmpbldmpobfkfo or Local Extension Settings/gcalenpjmijncebpfijmoaglllgpjagf for Tampermonkey beta.

wOxxOm
  • 65,848
  • 11
  • 132
  • 136