browser.browsingData

الوصف

استخدِم واجهة برمجة التطبيقات chrome.browsingData لإزالة بيانات التصفّح من الملف الشخصي المحلي للمستخدم.

الأذونات

browsingData

يجب الإفصاح عن إذن "browsingData" في بيان الإضافة لاستخدام واجهة برمجة التطبيقات هذه.

{
  "name": "My extension",
  ...
  "permissions": [
    "browsingData",
  ],
  ...
}

المفاهيم والاستخدام

أبسط حالة استخدام لواجهة برمجة التطبيقات هذه هي آلية مستندة إلى الوقت لمحو بيانات تصفّح المستخدم. يجب أن يوفّر الرمز طابعًا زمنيًا يشير إلى التاريخ السابق الذي يجب بعده إزالة بيانات تصفّح المستخدم. يتم تنسيق هذا الطابع الزمني كعدد المللي ثانية منذ حقبة يونكس (والتي يمكن استردادها من كائن JavaScript Date باستخدام طريقة getTime()).

على سبيل المثال، لمحو جميع بيانات تصفّح المستخدم من الأسبوع الماضي، يمكنك كتابة الرمز على النحو التالي:

var callback = function () {
  // Do something clever here once data has been removed.
};

var millisecondsPerWeek = 1000 * 60 * 60 * 24 * 7;
var oneWeekAgo = (new Date()).getTime() - millisecondsPerWeek;
browser.browsingData.remove({
  "since": oneWeekAgo
}, {
  "appcache": true,
  "cache": true,
  "cacheStorage": true,
  "cookies": true,
  "downloads": true,
  "fileSystems": true,
  "formData": true,
  "history": true,
  "indexedDB": true,
  "localStorage": true,
  "passwords": true,
  "serviceWorkers": true,
  "webSQL": true
}, callback);

تتيح لك طريقة browser.browsingData.remove() إزالة أنواع مختلفة من بيانات التصفّح من خلال طلب واحد، وستكون أسرع بكثير من طلب طرق متعددة أكثر تحديدًا. ومع ذلك، إذا كنت تريد محو نوع واحد محدّد من بيانات التصفّح (ملفات تعريف الارتباط، على سبيل المثال)، فإنّ الطرق الأكثر دقة توفّر بديلاً قابلاً للقراءة لطلب مليء بـ JSON.

var callback = function () {
  // Do something clever here once data has been removed.
};

var millisecondsPerWeek = 1000 * 60 * 60 * 24 * 7;
var oneWeekAgo = (new Date()).getTime() - millisecondsPerWeek;
browser.browsingData.removeCookies({
  "since": oneWeekAgo
}, callback);

إذا كان المستخدم يزامن بياناته، قد يعيد browser.browsingData.remove() إنشاء ملف تعريف الارتباط تلقائيًا لحساب المزامنة بعد محوه. يتم ذلك لضمان استمرار عمل المزامنة، بحيث يمكن حذف البيانات في النهاية على الخادم. ومع ذلك، يمكن استخدام browser.browsingData.removeCookies() الأكثر تحديدًا لمحو ملف تعريف الارتباط لحساب المزامنة، وسيتم إيقاف المزامنة مؤقتًا في هذه الحالة.

مصادر محدّدة

لإزالة البيانات من مصدر معيّن أو لاستبعاد مجموعة من المصادر من الحذف، يمكنك استخدام المَعلمتَين RemovalOptions.origins وRemovalOptions.excludeOrigins. ولا يمكن تطبيقها إلا على ملفات تعريف الارتباط وذاكرة التخزين المؤقت ومساحة التخزين (CacheStorage وFileSystems وIndexedDB وLocalStorage وServiceWorkers وWebSQL).

browser.browsingData.remove({
  "origins": ["https://www.example.com"]
}, {
  "cacheStorage": true,
  "cookies": true,
  "fileSystems": true,
  "indexedDB": true,
  "localStorage": true,
  "serviceWorkers": true,
  "webSQL": true
}, callback);

أنواع المصادر

تتيح لك إضافة السمة originTypes إلى عنصر خيارات واجهات برمجة التطبيقات تحديد أنواع المصادر التي يجب أن تتأثر. تنقسم المصادر إلى ثلاث فئات:

  • يغطي unprotectedWeb الحالة العامة للمواقع الإلكترونية التي يزورها المستخدمون بدون اتخاذ أي إجراء خاص. في حال عدم تحديد originTypes، ستزيل واجهة برمجة التطبيقات تلقائيًا البيانات من عناوين الويب المصدر غير المحمية.
  • تغطي السياسة protectedWeb عناوين الويب المصدر التي تم تثبيتها كتطبيقات مستضافة. على سبيل المثال، يؤدي تثبيت Angry Birds إلى حماية المصدر https://chrome.angrybirds.com وإزالته من فئة unprotectedWeb. يُرجى توخي الحذر عند تفعيل حذف البيانات من هذه المصادر، والتأكّد من أنّ المستخدمين على عِلم بما سيحدث، لأنّ ذلك سيؤدي إلى إزالة بيانات ألعابهم نهائيًا. لا أحد يريد إسقاط منازل الخنازير الصغيرة أكثر من اللازم.
  • يغطي extension المصادر ضمن مخطط chrome-extensions:. إزالة بيانات الإضافات هي، مرة أخرى، أمر يجب أن تكون حذرًا للغاية بشأنه.

يمكننا تعديل المثال السابق لإزالة البيانات من المواقع الإلكترونية المحمية فقط على النحو التالي:

var callback = function () {
  // Do something clever here once data has been removed.
};

var millisecondsPerWeek = 1000 * 60 * 60 * 24 * 7;
var oneWeekAgo = (new Date()).getTime() - millisecondsPerWeek;
browser.browsingData.remove({
  "since": oneWeekAgo,
  "originTypes": {
    "protectedWeb": true
  }
}, {
  "appcache": true,
  "cache": true,
  "cacheStorage": true,
  "cookies": true,
  "downloads": true,
  "fileSystems": true,
  "formData": true,
  "history": true,
  "indexedDB": true,
  "localStorage": true,
  "passwords": true,
  "serviceWorkers": true,
  "webSQL": true
}, callback);

أمثلة

لتجربة واجهة برمجة التطبيقات هذه، ثبِّت مثال browsingData API من مستودع chrome-extension-samples.

الأنواع

DataTypeSet

مجموعة من أنواع البيانات يتم تفسير أنواع البيانات غير المتوفّرة على أنّها false.

الخصائص

  • appcache

    قيمة منطقية اختيارية

    تم إيقافها نهائيًا منذ الإصدار 152 من Chrome

    تمت إزالة إمكانية استخدام appcache. سيتم تجاهل نوع البيانات هذا.

    ذاكرة التخزين المؤقت للتطبيقات في المواقع الإلكترونية

  • ذاكرة التخزين المؤقت

    قيمة منطقية اختيارية

    ذاكرة التخزين المؤقت للمتصفّح

  • cacheStorage

    قيمة منطقية اختيارية

    الإصدار 72 من Chrome والإصدارات الأحدث browser.* ‎ منذ الإصدار 148 من Chrome

    مساحة ذاكرة التخزين المؤقت

  • البسكويت

    قيمة منطقية اختيارية

    ملفات تعريف الارتباط في المتصفّح

  • عناصر تم تنزيلها

    قيمة منطقية اختيارية

    قائمة عمليات التنزيل في المتصفّح

  • fileSystems

    قيمة منطقية اختيارية

    أنظمة ملفات المواقع الإلكترونية

  • formData

    قيمة منطقية اختيارية

    بيانات النماذج المخزَّنة في المتصفّح

  • السجلّ

    قيمة منطقية اختيارية

    سجلّ المتصفّح

  • indexedDB

    قيمة منطقية اختيارية

    بيانات IndexedDB للمواقع الإلكترونية

  • localStorage

    قيمة منطقية اختيارية

    بيانات مساحة التخزين المحلية للمواقع الإلكترونية

  • كلمات المرور

    قيمة منطقية اختيارية

    متوقّفة نهائيًا منذ الإصدار 144 من Chrome

    تمت إزالة إمكانية حذف كلمات المرور من خلال الإضافات. سيتم تجاهل نوع البيانات هذا.

    كلمات المرور المحفوظة

  • pluginData

    قيمة منطقية اختيارية

    تم إيقافها نهائيًا منذ الإصدار 88 من Chrome

    تمت إزالة التوافق مع Flash. سيتم تجاهل نوع البيانات هذا.

    بيانات المكوّنات الإضافية

  • serverBoundCertificates

    قيمة منطقية اختيارية

    تم إيقافها نهائيًا منذ الإصدار 76 من Chrome

    تمت إزالة إمكانية استخدام الشهادات المرتبطة بالخادم. سيتم تجاهل نوع البيانات هذا.

    الشهادات المرتبطة بالخادم

  • serviceWorkers

    قيمة منطقية اختيارية

    مشغِّلو الخدمات:

  • webSQL

    قيمة منطقية اختيارية

    تم إيقافها نهائيًا منذ الإصدار 152 من Chrome

    تمت إزالة إمكانية استخدام WebSQL. سيتم تجاهل نوع البيانات هذا.

    بيانات WebSQL للمواقع الإلكترونية

RemovalOptions

الخيارات التي تحدّد البيانات التي ستتم إزالتها بالضبط

الخصائص

  • excludeOrigins

    string[] اختياري

    الإصدار 74 من Chrome والإصدارات الأحدث browser.* ‎ منذ الإصدار 148 من Chrome

    وعند توفّرها، يتم استبعاد بيانات المصادر الواردة في هذه القائمة من الحذف. لا يمكن استخدامها مع origins. لا تتوفّر هذه السياسة إلا لملفات تعريف الارتباط ومساحة التخزين وذاكرة التخزين المؤقت. ويتم استبعاد ملفات تعريف الارتباط للنطاق القابل للتسجيل بأكمله.

  • originTypes

    object اختياري

    عنصر تحدّد سماته أنواع المصادر التي يجب محوها. إذا لم يتم تحديد هذا العنصر، يتم تلقائيًا محو المصادر "غير المحمية" فقط. يُرجى التأكّد من أنّك تريد حقًا إزالة بيانات التطبيق قبل إضافة "protectedWeb" أو "extensions".

    • ميزة "تأكيد السلامة"

      قيمة منطقية اختيارية

      الإضافات والتطبيقات المجمّعة التي ثبّتها المستخدم (يُرجى توخي الحذر _الشديد_).

    • protectedWeb

      قيمة منطقية اختيارية

      المواقع الإلكترونية التي تم تثبيتها كتطبيقات مستضافة (يُرجى توخي الحذر)

    • unprotectedWeb

      قيمة منطقية اختيارية

      المواقع الإلكترونية العادية

  • المصادر

    [string, ...string[]] اختياري

    الإصدار 74 من Chrome والإصدارات الأحدث browser.* ‎ منذ الإصدار 148 من Chrome

    عند توفّر هذه القائمة، يتم حذف البيانات الخاصة بالمصادر الواردة فيها فقط. لا تتوفّر هذه السياسة إلا لملفات تعريف الارتباط ومساحة التخزين وذاكرة التخزين المؤقت. يتم محو ملفات تعريف الارتباط للنطاق القابل للتسجيل بأكمله.

  • منذ

    number اختيارية

    تتم إزالة البيانات المتراكمة في هذا التاريخ أو بعده، ويتم تمثيلها بالمللي ثانية منذ بداية العصر (يمكن الوصول إليها من خلال طريقة getTime لكائن JavaScript Date). وفي حال عدم ضبطها، يتم ضبطها تلقائيًا على 0 (ما يؤدي إلى إزالة جميع بيانات التصفّح).

الطُرق

remove()

browser.browsingData.remove(
  options: RemovalOptions,
  dataToRemove: DataTypeSet,
)
: Promise<void>

تؤدي هذه السياسة إلى محو أنواع مختلفة من بيانات التصفّح المخزَّنة في الملف الشخصي للمستخدم.

المعلمات

  • الخيارات
  • dataToRemove

    مجموعة أنواع البيانات المطلوب إزالتها

المرتجعات

  • وعد<فراغ>

    الإصدار 96 من Chrome والإصدارات الأحدث browser.* ‎ منذ الإصدار 148 من Chrome

    يتم حلّ المشكلة عند اكتمال عملية الحذف.

removeAppcache()

تم إيقافها نهائيًا منذ الإصدار 152 من Chrome
browser.browsingData.removeAppcache(
  options: RemovalOptions,
)
: Promise<void>

تمت إزالة إمكانية استخدام appcache. هذه الدالة ليس لها أي تأثير.

يؤدي هذا الإعداد إلى محو بيانات ذاكرة التخزين المؤقت للتطبيقات في المواقع الإلكترونية.

المعلمات

المرتجعات

  • وعد<فراغ>

    الإصدار 96 من Chrome والإصدارات الأحدث browser.* ‎ منذ الإصدار 148 من Chrome

    يتم حلّ المشكلة عند محو بيانات ذاكرة التخزين المؤقت للتطبيقات في المواقع الإلكترونية.

removeCache()

browser.browsingData.removeCache(
  options: RemovalOptions,
)
: Promise<void>

محو ذاكرة التخزين المؤقت للمتصفّح

المعلمات

المرتجعات

  • وعد<فراغ>

    الإصدار 96 من Chrome والإصدارات الأحدث browser.* ‎ منذ الإصدار 148 من Chrome

    يتم حلّ المشكلة عند محو ذاكرة التخزين المؤقت للمتصفّح.

removeCacheStorage()

الإصدار 72 من Chrome والإصدارات الأحدث browser.* ‎ منذ الإصدار 148 من Chrome
browser.browsingData.removeCacheStorage(
  options: RemovalOptions,
)
: Promise<void>

محو بيانات ذاكرة التخزين المؤقت للمواقع الإلكترونية

المعلمات

المرتجعات

  • وعد<فراغ>

    الإصدار 96 من Chrome والإصدارات الأحدث browser.* ‎ منذ الإصدار 148 من Chrome

    يتم حلّ المشكلة عند محو مساحة التخزين المؤقت للمواقع الإلكترونية.

removeCookies()

browser.browsingData.removeCookies(
  options: RemovalOptions,
)
: Promise<void>

يؤدي هذا الإجراء إلى محو ملفات تعريف الارتباط في المتصفّح والشهادات المرتبطة بالخادم التي تم تعديلها خلال إطار زمني معيّن.

المعلمات

المرتجعات

  • وعد<فراغ>

    الإصدار 96 من Chrome والإصدارات الأحدث browser.* ‎ منذ الإصدار 148 من Chrome

    يتم حلّ المشكلة عند محو ملفات تعريف الارتباط في المتصفّح والشهادات المرتبطة بالخادم.

removeDownloads()

browser.browsingData.removeDownloads(
  options: RemovalOptions,
)
: Promise<void>

يؤدي هذا الإجراء إلى محو قائمة الملفات التي تم تنزيلها في المتصفّح (وليس الملفات التي تم تنزيلها نفسها).

المعلمات

المرتجعات

  • وعد<فراغ>

    الإصدار 96 من Chrome والإصدارات الأحدث browser.* ‎ منذ الإصدار 148 من Chrome

    يتم حلّ المشكلة عند محو قائمة الملفات التي تم تنزيلها في المتصفّح.

removeFileSystems()

browser.browsingData.removeFileSystems(
  options: RemovalOptions,
)
: Promise<void>

يمحو بيانات نظام الملفات في المواقع الإلكترونية.

المعلمات

المرتجعات

  • وعد<فراغ>

    الإصدار 96 من Chrome والإصدارات الأحدث browser.* ‎ منذ الإصدار 148 من Chrome

    يتم حلّ المشكلة عند محو أنظمة ملفات المواقع الإلكترونية.

removeFormData()

browser.browsingData.removeFormData(
  options: RemovalOptions,
)
: Promise<void>

لمحو بيانات النماذج المخزَّنة في المتصفّح (الملء التلقائي)

المعلمات

المرتجعات

  • وعد<فراغ>

    الإصدار 96 من Chrome والإصدارات الأحدث browser.* ‎ منذ الإصدار 148 من Chrome

    يتم حلّ المشكلة عند محو بيانات النماذج في المتصفّح.

removeHistory()

browser.browsingData.removeHistory(
  options: RemovalOptions,
)
: Promise<void>

يمحو سجلّ المتصفّح.

المعلمات

المرتجعات

  • وعد<فراغ>

    الإصدار 96 من Chrome والإصدارات الأحدث browser.* ‎ منذ الإصدار 148 من Chrome

    يتم حلّ المشكلة عند محو سجلّ المتصفّح.

removeIndexedDB()

browser.browsingData.removeIndexedDB(
  options: RemovalOptions,
)
: Promise<void>

يمحو بيانات IndexedDB الخاصة بالمواقع الإلكترونية.

المعلمات

المرتجعات

  • وعد<فراغ>

    الإصدار 96 من Chrome والإصدارات الأحدث browser.* ‎ منذ الإصدار 148 من Chrome

    يتم حلّ المشكلة عند محو بيانات IndexedDB للمواقع الإلكترونية.

removeLocalStorage()

browser.browsingData.removeLocalStorage(
  options: RemovalOptions,
)
: Promise<void>

لمحو بيانات التخزين المحلي للمواقع الإلكترونية

المعلمات

المرتجعات

  • وعد<فراغ>

    الإصدار 96 من Chrome والإصدارات الأحدث browser.* ‎ منذ الإصدار 148 من Chrome

    يتم حلّ المشكلة عند محو مساحة التخزين المحلية للمواقع الإلكترونية.

removePasswords()

متوقّفة نهائيًا منذ الإصدار 144 من Chrome
browser.browsingData.removePasswords(
  options: RemovalOptions,
)
: Promise<void>

تمت إزالة إمكانية حذف كلمات المرور من خلال الإضافات. هذه الدالة ليس لها أي تأثير.

لمحو كلمات المرور المخزَّنة في المتصفّح

المعلمات

المرتجعات

  • وعد<فراغ>

    الإصدار 96 من Chrome والإصدارات الأحدث browser.* ‎ منذ الإصدار 148 من Chrome

    يتم حلّ المشكلة عند محو كلمات المرور في المتصفّح.

removePluginData()

تم إيقافها نهائيًا منذ الإصدار 88 من Chrome
browser.browsingData.removePluginData(
  options: RemovalOptions,
)
: Promise<void>

تمت إزالة التوافق مع Flash. هذه الدالة ليس لها أي تأثير.

لمحو بيانات المكوّنات الإضافية

المعلمات

المرتجعات

  • وعد<فراغ>

    الإصدار 96 من Chrome والإصدارات الأحدث browser.* ‎ منذ الإصدار 148 من Chrome

    يتم حلّ المشكلة عند محو بيانات المكوّنات الإضافية.

removeServiceWorkers()

الإصدار 72 من Chrome والإصدارات الأحدث browser.* ‎ منذ الإصدار 148 من Chrome
browser.browsingData.removeServiceWorkers(
  options: RemovalOptions,
)
: Promise<void>

محو مشغّلي الخدمات في المواقع الإلكترونية

المعلمات

المرتجعات

  • وعد<فراغ>

    الإصدار 96 من Chrome والإصدارات الأحدث browser.* ‎ منذ الإصدار 148 من Chrome

    يتم حلّ المشكلة عند محو مشغّلي الخدمات في المواقع الإلكترونية.

removeWebSQL()

تم إيقافها نهائيًا منذ الإصدار 152 من Chrome
browser.browsingData.removeWebSQL(
  options: RemovalOptions,
)
: Promise<void>

تمت إزالة إمكانية استخدام WebSQL. هذه الدالة ليس لها أي تأثير.

يمحو بيانات WebSQL للمواقع الإلكترونية.

المعلمات

المرتجعات

  • وعد<فراغ>

    الإصدار 96 من Chrome والإصدارات الأحدث browser.* ‎ منذ الإصدار 148 من Chrome

    يتم حلّ المشكلة عند محو قواعد بيانات WebSQL للمواقع الإلكترونية.

settings()

browser.browsingData.settings(): Promise<object>

تُبلغ هذه السياسة عن أنواع البيانات المحدّدة حاليًا في واجهة مستخدم إعدادات "محو بيانات التصفّح". ملاحظة: بعض أنواع البيانات المضمّنة في واجهة برمجة التطبيقات هذه غير متاحة في واجهة مستخدم الإعدادات، وتتحكّم بعض إعدادات واجهة المستخدم في أكثر من نوع واحد من البيانات المدرَجة هنا.

المرتجعات

  • وعد<كائن>

    الإصدار 96 من Chrome والإصدارات الأحدث browser.* ‎ منذ الإصدار 148 من Chrome