الوصف
استخدِم واجهة برمجة التطبيقات 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لكائن JavaScriptDate). وفي حال عدم ضبطها، يتم ضبطها تلقائيًا على 0 (ما يؤدي إلى إزالة جميع بيانات التصفّح).
الطُرق
remove()
browser.browsingData.remove(
options: RemovalOptions,
dataToRemove: DataTypeSet,
): Promise<void>
تؤدي هذه السياسة إلى محو أنواع مختلفة من بيانات التصفّح المخزَّنة في الملف الشخصي للمستخدم.
المعلمات
-
الخيارات
-
dataToRemove
مجموعة أنواع البيانات المطلوب إزالتها
المرتجعات
-
وعد<فراغ>
الإصدار 96 من Chrome والإصدارات الأحدث browser.* منذ الإصدار 148 من Chromeيتم حلّ المشكلة عند اكتمال عملية الحذف.
removeAppcache()
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()
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()
browser.browsingData.removePasswords(
options: RemovalOptions,
): Promise<void>
تمت إزالة إمكانية حذف كلمات المرور من خلال الإضافات. هذه الدالة ليس لها أي تأثير.
لمحو كلمات المرور المخزَّنة في المتصفّح
المعلمات
-
الخيارات
المرتجعات
-
وعد<فراغ>
الإصدار 96 من Chrome والإصدارات الأحدث browser.* منذ الإصدار 148 من Chromeيتم حلّ المشكلة عند محو كلمات المرور في المتصفّح.
removePluginData()
browser.browsingData.removePluginData(
options: RemovalOptions,
): Promise<void>
تمت إزالة التوافق مع Flash. هذه الدالة ليس لها أي تأثير.
لمحو بيانات المكوّنات الإضافية
المعلمات
-
الخيارات
المرتجعات
-
وعد<فراغ>
الإصدار 96 من Chrome والإصدارات الأحدث browser.* منذ الإصدار 148 من Chromeيتم حلّ المشكلة عند محو بيانات المكوّنات الإضافية.
removeServiceWorkers()
browser.browsingData.removeServiceWorkers(
options: RemovalOptions,
): Promise<void>
محو مشغّلي الخدمات في المواقع الإلكترونية
المعلمات
-
الخيارات
المرتجعات
-
وعد<فراغ>
الإصدار 96 من Chrome والإصدارات الأحدث browser.* منذ الإصدار 148 من Chromeيتم حلّ المشكلة عند محو مشغّلي الخدمات في المواقع الإلكترونية.
removeWebSQL()
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