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, GreasemonkeyViolentmonkey のような拡張機能のインストールが必要です。

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

スクリプトをインストールするには、TampermonkeyViolentmonkey のような拡張機能のインストールが必要です。

スクリプトをインストールするには、TampermonkeyUserscripts のような拡張機能のインストールが必要です。

このスクリプトをインストールするには、Tampermonkeyなどの拡張機能をインストールする必要があります。

このスクリプトをインストールするには、ユーザースクリプト管理ツールの拡張機能をインストールする必要があります。

(ユーザースクリプト管理ツールは設定済みなのでインストール!)

このスタイルをインストールするには、Stylusなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus などの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus tなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

(ユーザースタイル管理ツールは設定済みなのでインストール!)

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください
作者
JasonMel
バージョン
1.0.4
作成日
2026/01/11
更新日
2026/07/21
大きさ
31.2KB
ライセンス
MIT (https://mit-license.org/)

このクラスのインスタンスを通じて設定およびアクセスされるストレージは、コンストラクタで設定した有効期間だけ保持されます。ただし、最低でも1日である必要があります。デフォルトは30日です。その後、sweepExpiredEntries()が呼び出されるとストレージは期限切れになり削除されます。これはsetInterval()でスケジュール設定できます。

このライブラリは、GM の setValue()を通じて直接設定されたスクリプトストレージには影響を与えません。そのようなストレージは通常通り動作します。

使用例:

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

これが必要な理由は、各ライブラリが必要とするものを独自のメタデータに含めるだけでは不十分だからです。トップレベルのスクリプトは、すべての依存関係に対して必要な@requiresと@grantsを提供する必要があります。