Temporary-Script-Storage

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

Этот скрипт недоступен для установки пользователем. Он является библиотекой, которая подключается к другим скриптам мета-ключом // @require https://update.greasyfork.org/scripts/562172/1881822/Temporary-Script-Storage.js

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey, Greasemonkey или Violentmonkey.

Вам потребуется установить расширение, например Tampermonkey или Violentmonkey, чтобы установить этот скрипт.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Userscripts.

Чтобы установить этот скрипт, сначала вы должны установить расширение браузера, например Tampermonkey.

Чтобы установить этот скрипт, вы должны установить расширение — менеджер скриптов.

(у меня уже есть менеджер скриптов, дайте мне установить скрипт!)

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

(у меня уже есть менеджер стилей, дайте мне установить скрипт!)

Автор
JasonMel
Версия
1.0.4
Создано
11.01.2026
Обновлено
21.07.2026
Размер
31,2 КБ
Лицензия
MIT (https://mit-license.org/)

Хранилище, установленное и доступное через экземпляр этого класса, будет существовать только в течение времени жизни, установленного в конструкторе, хотя оно должно быть не менее одного дня. По умолчанию это 30 дней. После этого оно истечёт и будет удалено при вызове sweepExpiredEntries(), которое вы можете запланировать с помощью setInterval().

Эта библиотека никак не влияет на хранилище скрипта, установленное непосредственно через setValue() GM обычным способом. Такое хранилище будет работать нормально.

Пример использования:

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 {}

Кроме того, любой скрипт, использующий эту библиотеку, должен включать следующие метаданные:

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

Это необходимо, потому что указание требований каждой библиотеки в её собственных метаданных недостаточно. Скрипт верхнего уровня должен предоставить необходимые @require и @grant для всех своих зависимостей.