Temporary-Script-Storage

Sets a maximum age (minimum one day) for script storage values, after which they are deleted

Questo script non dovrebbe essere installato direttamente. È una libreria per altri script da includere con la chiave // @require https://update.greasyfork.org/scripts/562172/1881822/Temporary-Script-Storage.js

Dovrai installare un'estensione come Tampermonkey, Greasemonkey o Violentmonkey per installare questo script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

Dovrai installare un'estensione come Tampermonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Userscripts per installare questo script.

Dovrai installare un'estensione come ad esempio Tampermonkey per installare questo script.

Dovrai installare un gestore di script utente per installare questo script.

(Ho già un gestore di script utente, lasciamelo installare!)

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

(Ho già un gestore di stile utente, lasciamelo installare!)

Autore
JasonMel
Versione
1.0.4
Creato il
11/01/2026
Aggiornato il
21/07/2026
Dimensione
31,2 KB
Licenza
MIT (https://mit-license.org/)

L'archiviazione impostata e accessibile tramite un'istanza di questa classe vivrà solo finché la durata che hai impostato nel costruttore, anche se deve essere almeno un giorno. L'impostazione predefinita è 30 giorni. Dopo di che, scadrà e verrà eliminata quando viene chiamato sweepExpiredEntries(), che puoi pianificare con setInterval().

Questa libreria non ha alcun effetto sull'archiviazione degli script impostata direttamente tramite setValue() di GM nel modo consueto. Tale archiviazione si comporterà normalmente.

Esempio di utilizzo:

const persistentStorage = new TTLStorage();
await persistentStorage.ready();
setInterval(() => persistentStorage.sweepExpiredEntries(), 1000 * 60 * 60 * 24);

try { 
  await persistentStorage.set("key1", "hello"); // throws
  const msg = persistentStorage.get("key1");    // fast memory read
  await persistentStorage.delete("key1");       // throws
} catch {}

Inoltre, qualsiasi script che utilizza questa libreria deve includere i seguenti metadati:

// @grant GM.getValue
// @grant GM.setValue
// @grant GM.deleteValue
// @grant GM.listValues
// @grant GM.info

Questo è necessario perché inserire ciò di cui ogni libreria ha bisogno nei propri metadati non è sufficiente. Lo script di primo livello deve fornire i necessari @requires e @grants per tutte le sue dipendenze.