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

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

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

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

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

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

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

ستحتاج إلى تثبيت إضافة مثل Stylus لتثبيت هذا النمط.

ستحتاج إلى تثبيت إضافة لإدارة أنماط المستخدم لتتمكن من تثبيت هذا النمط.

ستحتاج إلى تثبيت إضافة لإدارة أنماط المستخدم لتثبيت هذا النمط.

ستحتاج إلى تثبيت إضافة لإدارة أنماط المستخدم لتثبيت هذا النمط.

(لدي بالفعل مثبت أنماط للمستخدم، دعني أقم بتثبيته!)

المؤلف
JasonMel
الإصدار
1.0.4
تم إنشاؤه
11-01-2026
تم تحديثه
21-07-2026
الحجم
31.2 KB
الترخيص
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

هذا ضروري لأن وضع ما تحتاجه كل مكتبة في بيانات وصفية خاصة بها ليس كافيًا. يجب أن يوفر النص البرمجي على المستوى الأعلى @requires و @grants الضرورية لجميع تبعياته.