الوصف
استخدِم واجهة برمجة التطبيقات 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
لعنصر JavaScriptDate
). في حال عدم توفّره، يتم ضبط القيمة على 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()
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()
chrome.browsingData.removePluginData(
options: RemovalOptions,
callback?: function,
): Promise<void>
تمت إزالة دعم Flash. ليس لهذه الدالة أي تأثير.
يمحو بيانات الإضافات.
المعلمات
-
الخيارات
-
callback
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:() => void
المرتجعات
-
Promise<void>
الإصدار 96 من Chrome والإصدارات الأحدث
removeServiceWorkers()
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 والإصدارات الأحدث