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. ولا يمكن تطبيقها إلا على ملفات تعريف الارتباط وذاكرة التخزين المؤقت والتخزين (ذاكرة التخزين المؤقت و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 من مستودع chrome-extension- sample.

الأنواع

DataTypeSet

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

أماكن إقامة

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

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

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

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

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

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

  • cacheStorage

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

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

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

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

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

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

  • عمليات التنزيل

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

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

  • fileSystems

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

    أنظمة ملفات مواقع الويب.

  • formData

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

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

  • السجلّ

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

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

  • indexedDB

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

    بيانات قاعدة البيانات المفهرسة للمواقع الإلكترونية

  • localStorage

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

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

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

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

    كلمات المرور المخزَّنة

  • pluginData

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

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

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

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

  • serverBoundCertificates

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

    متوقفة منذ الإصدار 76 من Chrome

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

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

  • serviceWorkers

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

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

  • webSQL

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

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

RemovalOptions

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

أماكن إقامة

  • excludeOrigins

    string[] اختيارية

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

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

  • originTypes

    الكائن اختياري

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

    • إضافة

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

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

    • protectedWeb

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

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

    • unprotectedWeb

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

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

  • الأصول

    [string, ...string[]] optional

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

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

  • منذ

    الرقم اختياري

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

الطُرق

remove()

وعد بذلك
chrome.browsingData.remove(
  options: RemovalOptions,
  dataToRemove: DataTypeSet,
  callback?: function,
)

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

المعلمات

  • الخيارات
  • dataToRemove

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

  • رد الاتصال

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

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

    () => void

المرتجعات

  • Promise<void>

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

    لا تتوفّر الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.

removeAppcache()

وعد بذلك
chrome.browsingData.removeAppcache(
  options: RemovalOptions,
  callback?: function,
)

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

المعلمات

  • الخيارات
  • رد الاتصال

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

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

    () => void

المرتجعات

  • Promise<void>

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

    لا تتوفّر الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.

removeCache()

وعد بذلك
chrome.browsingData.removeCache(
  options: RemovalOptions,
  callback?: function,
)

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

المعلمات

  • الخيارات
  • رد الاتصال

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

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

    () => void

المرتجعات

  • Promise<void>

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

    لا تتوفّر الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.

removeCacheStorage()

التوقعات Chrome 72 أو الإصدارات الأحدث
chrome.browsingData.removeCacheStorage(
  options: RemovalOptions,
  callback?: function,
)

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

المعلمات

  • الخيارات
  • رد الاتصال

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

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

    () => void

المرتجعات

  • Promise<void>

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

    لا تتوفّر الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.

removeCookies()

وعد بذلك
chrome.browsingData.removeCookies(
  options: RemovalOptions,
  callback?: function,
)

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

المعلمات

  • الخيارات
  • رد الاتصال

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

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

    () => void

المرتجعات

  • Promise<void>

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

    لا تتوفّر الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.

removeDownloads()

وعد بذلك
chrome.browsingData.removeDownloads(
  options: RemovalOptions,
  callback?: function,
)

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

المعلمات

  • الخيارات
  • رد الاتصال

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

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

    () => void

المرتجعات

  • Promise<void>

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

    لا تتوفّر الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.

removeFileSystems()

وعد بذلك
chrome.browsingData.removeFileSystems(
  options: RemovalOptions,
  callback?: function,
)

يؤدي هذا الإجراء إلى محو بيانات نظام ملفات المواقع الإلكترونية.

المعلمات

  • الخيارات
  • رد الاتصال

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

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

    () => void

المرتجعات

  • Promise<void>

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

    لا تتوفّر الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.

removeFormData()

وعد بذلك
chrome.browsingData.removeFormData(
  options: RemovalOptions,
  callback?: function,
)

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

المعلمات

  • الخيارات
  • رد الاتصال

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

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

    () => void

المرتجعات

  • Promise<void>

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

    لا تتوفّر الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.

removeHistory()

وعد بذلك
chrome.browsingData.removeHistory(
  options: RemovalOptions,
  callback?: function,
)

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

المعلمات

  • الخيارات
  • رد الاتصال

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

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

    () => void

المرتجعات

  • Promise<void>

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

    لا تتوفّر الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.

removeIndexedDB()

وعد بذلك
chrome.browsingData.removeIndexedDB(
  options: RemovalOptions,
  callback?: function,
)

يؤدي هذا الإجراء إلى محو بيانات IndexedDB للمواقع الإلكترونية.

المعلمات

  • الخيارات
  • رد الاتصال

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

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

    () => void

المرتجعات

  • Promise<void>

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

    لا تتوفّر الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.

removeLocalStorage()

وعد بذلك
chrome.browsingData.removeLocalStorage(
  options: RemovalOptions,
  callback?: function,
)

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

المعلمات

  • الخيارات
  • رد الاتصال

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

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

    () => void

المرتجعات

  • Promise<void>

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

    لا تتوفّر الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.

removePasswords()

وعد بذلك
chrome.browsingData.removePasswords(
  options: RemovalOptions,
  callback?: function,
)

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

المعلمات

  • الخيارات
  • رد الاتصال

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

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

    () => void

المرتجعات

  • Promise<void>

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

    لا تتوفّر الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.

removePluginData()

التعهّد بالإيقاف لأنّ Chrome 88
chrome.browsingData.removePluginData(
  options: RemovalOptions,
  callback?: function,
)

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

يؤدي ذلك إلى محو بيانات المكوّنات الإضافية.

المعلمات

  • الخيارات
  • رد الاتصال

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

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

    () => void

المرتجعات

  • Promise<void>

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

    لا تتوفّر الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.

removeServiceWorkers()

التوقعات Chrome 72 أو الإصدارات الأحدث
chrome.browsingData.removeServiceWorkers(
  options: RemovalOptions,
  callback?: function,
)

يؤدي هذا الإجراء إلى محو مشغّلي الخدمات على المواقع الإلكترونية.

المعلمات

  • الخيارات
  • رد الاتصال

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

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

    () => void

المرتجعات

  • Promise<void>

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

    لا تتوفّر الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.

removeWebSQL()

وعد بذلك
chrome.browsingData.removeWebSQL(
  options: RemovalOptions,
  callback?: function,
)

يؤدي هذا الإجراء إلى محو بيانات WebSQL في المواقع الإلكترونية.

المعلمات

  • الخيارات
  • رد الاتصال

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

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

    () => void

المرتجعات

  • Promise<void>

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

    لا تتوفّر الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.

settings()

وعد بذلك
chrome.browsingData.settings(
  callback?: function,
)

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

المعلمات

  • رد الاتصال

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

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

    (result: object) => void

    • نتيجة

      عنصر

      • dataRemovalPermitted

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

      • dataToRemove

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

      • الخيارات

المرتجعات

  • Promise<object>

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

    لا تتوفّر الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.