chrome.browsingData

الوصف

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

الأذونات

browsingData

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

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

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

أبسط حالة استخدام لهذه الواجهة هي آلية مستندة إلى الوقت لمحو بيانات التصفّح الخاصة بالمستخدم. يجب أن يوفّر الرمز الطابع الزمني الذي يشير إلى التاريخ السابق الذي يجب بعده إزالة بيانات التصفّح الخاصة بالمستخدم. يتم تنسيق هذا الطابع الزمني على أنّه عدد الملّي ثانية منذ بداية حقبة Unix (التي يمكن استردادها من عنصر Date في JavaScript باستخدام طريقة 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;
chrome.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);

تتيح لك الطريقة chrome.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;
chrome.browsingData.removeCookies({
  "since": oneWeekAgo
}, callback);

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

المصادر المحدّدة

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

chrome.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;
chrome.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

    boolean اختياري

    ملفات appcache الخاصة بالمواقع الإلكترونية

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

    boolean اختياري

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

  • cacheStorage

    boolean اختياري

    الإصدار 72 من Chrome أو إصدار أحدث

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

  • ملفات تعريف الارتباط

    boolean اختياري

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

  • التنزيلات

    boolean اختياري

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

  • fileSystems

    boolean اختياري

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

  • formData

    boolean اختياري

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

  • السجلّ

    boolean اختياري

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

  • indexedDB

    boolean اختياري

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

  • localStorage

    boolean اختياري

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

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

    boolean اختياري

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

  • pluginData

    boolean اختياري

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

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

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

  • serverBoundCertificates

    boolean اختياري

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

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

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

  • serviceWorkers

    boolean اختياري

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

  • webSQL

    boolean اختياري

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

RemovalOptions

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

الخصائص

  • excludeOrigins

    string[] اختياري

    الإصدار 74 من Chrome والإصدارات الأحدث

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

  • originTypes

    العنصر اختياري

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

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

      boolean اختياري

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

    • protectedWeb

      boolean اختياري

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

    • unprotectedWeb

      boolean اختياري

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

  • المصادر

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

    الإصدار 74 من Chrome والإصدارات الأحدث

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

  • منذ

    number اختياري

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

الطُرق

remove()

الوعد
chrome.browsingData.remove(
  options: RemovalOptions,
  dataToRemove: DataTypeSet,
  callback?: function,
)
: Promise<void>

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

المعلمات

  • الخيارات
  • dataToRemove

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

  • callback

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • Promise<void>

    الإصدار 96 من Chrome والإصدارات الأحدث

removeAppcache()

الوعد
chrome.browsingData.removeAppcache(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

المعلمات

  • الخيارات
  • callback

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • Promise<void>

    الإصدار 96 من Chrome والإصدارات الأحدث

removeCache()

الوعد
chrome.browsingData.removeCache(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

المعلمات

  • الخيارات
  • callback

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • Promise<void>

    الإصدار 96 من Chrome والإصدارات الأحدث

removeCacheStorage()

Promise Chrome 72 أو إصدار أحدث
chrome.browsingData.removeCacheStorage(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

المعلمات

  • الخيارات
  • callback

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • Promise<void>

    الإصدار 96 من Chrome والإصدارات الأحدث

removeCookies()

الوعد
chrome.browsingData.removeCookies(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

المعلمات

  • الخيارات
  • callback

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • Promise<void>

    الإصدار 96 من Chrome والإصدارات الأحدث

removeDownloads()

الوعد
chrome.browsingData.removeDownloads(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

يمحو قائمة الملفات التي تم تنزيلها في المتصفّح (وليس الملفات التي تم تنزيلها نفسها).

المعلمات

  • الخيارات
  • callback

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • Promise<void>

    الإصدار 96 من Chrome والإصدارات الأحدث

removeFileSystems()

الوعد
chrome.browsingData.removeFileSystems(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

المعلمات

  • الخيارات
  • callback

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • Promise<void>

    الإصدار 96 من Chrome والإصدارات الأحدث

removeFormData()

الوعد
chrome.browsingData.removeFormData(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

المعلمات

  • الخيارات
  • callback

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • Promise<void>

    الإصدار 96 من Chrome والإصدارات الأحدث

removeHistory()

الوعد
chrome.browsingData.removeHistory(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

المعلمات

  • الخيارات
  • callback

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • Promise<void>

    الإصدار 96 من Chrome والإصدارات الأحدث

removeIndexedDB()

الوعد
chrome.browsingData.removeIndexedDB(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

المعلمات

  • الخيارات
  • callback

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • Promise<void>

    الإصدار 96 من Chrome والإصدارات الأحدث

removeLocalStorage()

الوعد
chrome.browsingData.removeLocalStorage(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

المعلمات

  • الخيارات
  • callback

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • Promise<void>

    الإصدار 96 من Chrome والإصدارات الأحدث

removePasswords()

الوعد
chrome.browsingData.removePasswords(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

يمحو كلمات المرور المحفوظة في المتصفّح.

المعلمات

  • الخيارات
  • callback

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • Promise<void>

    الإصدار 96 من Chrome والإصدارات الأحدث

removePluginData()

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

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

يمحو بيانات الإضافات.

المعلمات

  • الخيارات
  • callback

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • Promise<void>

    الإصدار 96 من Chrome والإصدارات الأحدث

removeServiceWorkers()

Promise Chrome 72 أو إصدار أحدث
chrome.browsingData.removeServiceWorkers(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

المعلمات

  • الخيارات
  • callback

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • Promise<void>

    الإصدار 96 من Chrome والإصدارات الأحدث

removeWebSQL()

الوعد
chrome.browsingData.removeWebSQL(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

المعلمات

  • الخيارات
  • callback

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • Promise<void>

    الإصدار 96 من Chrome والإصدارات الأحدث

settings()

الوعد
chrome.browsingData.settings(
  callback?: function,
)
: Promise<object>

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

المعلمات

  • callback

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    (result: object) => void

    • نتيجة

      عنصر

      • dataRemovalPermitted

        ستظهر جميع الأنواع في النتيجة، مع القيم true إذا كان مسموحًا بإزالتها (على سبيل المثال، بموجب سياسة المؤسسة) وfalse إذا لم يكن مسموحًا بذلك.

      • dataToRemove

        ستظهر جميع الأنواع في النتيجة، مع القيم true إذا تم اختيارها لإزالتها وكان من المسموح إزالتها، وإلا ستظهر القيمة false.

      • الخيارات

المرتجعات

  • Promise<object>

    الإصدار 96 من Chrome والإصدارات الأحدث