توضیحات
از API chrome.browsingData برای حذف دادههای مرور از پروفایل محلی کاربر استفاده کنید.
مجوزها
browsingData برای استفاده از این API، باید مجوز "browsingData" را در فایل manifest افزونه تعریف کنید.
{
"name": "My extension",
...
"permissions": [
"browsingData",
],
...
}
مفاهیم و کاربردها
سادهترین مورد استفاده برای این API، یک مکانیزم مبتنی بر زمان برای پاک کردن دادههای مرور کاربر است. کد شما باید یک برچسب زمانی ارائه دهد که نشان دهنده تاریخ تاریخی باشد که پس از آن دادههای مرور کاربر باید حذف شوند. این برچسب زمانی به صورت تعداد میلیثانیهها از زمان آغاز یونیکس (که میتواند از یک شیء 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;
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() ممکن است پس از پاک کردن کوکی برای حساب Sync، آن را بهطور خودکار بازسازی کند. این کار برای اطمینان از ادامهی کار Sync است تا دادهها در نهایت از روی سرور حذف شوند. با این حال، میتوان از chrome.browsingData.removeCookies() خاصتر برای پاک کردن کوکی برای حساب Sync استفاده کرد و در این حالت، Sync متوقف میشود.
ریشههای خاص
برای حذف دادهها برای یک مبدأ خاص یا مستثنی کردن مجموعهای از مبدأها از حذف، میتوانید از پارامترهای 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 به شیء گزینههای API به شما امکان میدهد مشخص کنید کدام نوع از originها باید اعمال شوند. originها به سه دسته تقسیم میشوند:
-
unprotectedWebحالت کلی وبسایتهایی را پوشش میدهد که کاربران بدون انجام هیچ اقدام خاصی از آنها بازدید میکنند. اگرoriginTypesرا مشخص نکنید، API به طور پیشفرض دادهها را از مبدأهای وب محافظت نشده حذف میکند. -
protectedWebآن دسته از منابع وب را که به عنوان برنامههای میزبانی شده نصب شدهاند، پوشش میدهد. به عنوان مثال، نصب Angry Birds ، منبعhttps://chrome.angrybirds.comرا محافظت میکند و آن را از دستهunprotectedWebحذف میکند. هنگام حذف دادهها برای این منابع مراقب باشید: مطمئن شوید که کاربران شما میدانند چه چیزی دریافت میکنند، زیرا این کار دادههای بازی آنها را به طور غیرقابل برگشت حذف میکند. هیچ کس نمیخواهد خانههای کوچک خوک را بیش از حد لازم خراب کند. -
extensionorigins را تحت طرح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);
مثالها
برای امتحان کردن این API، نمونهی browsingData API را از مخزن chrome-extension-samples نصب کنید.
انواع
DataTypeSet
مجموعهای از انواع داده. انواع دادهی ناموجود به عنوان false تفسیر میشوند.
خواص
- اپکَش
بولی اختیاری
حافظههای برنامهی وبسایتها.
- حافظه نهان
بولی اختیاری
حافظه پنهان مرورگر.
- حافظه پنهان
بولی اختیاری
کروم ۷۲+حافظه پنهان (کش)
- کوکیها
بولی اختیاری
کوکیهای مرورگر.
- دانلودها
بولی اختیاری
لیست دانلودهای مرورگر.
- سیستمهای فایل
بولی اختیاری
سیستمهای فایل وبسایتها
- فرم داده
بولی اختیاری
دادههای فرم ذخیره شده توسط مرورگر.
- تاریخ
بولی اختیاری
تاریخچه مرورگر.
- پایگاه داده فهرست شده
بولی اختیاری
دادههای IndexedDB وبسایتها.
- ذخیرهسازی محلی
بولی اختیاری
دادههای ذخیرهسازی محلی وبسایتها.
- رمزهای عبور
بولی اختیاری
منسوخ شدهپشتیبانی از حذف رمز عبور از طریق افزونهها حذف شده است. این نوع داده نادیده گرفته خواهد شد.
رمزهای عبور ذخیره شده
- افزونه داده
بولی اختیاری
از کروم ۸۸ منسوخ شده استپشتیبانی از فلش حذف شده است. این نوع داده نادیده گرفته خواهد شد.
دادههای افزونهها.
- گواهینامههای serverBound
بولی اختیاری
از کروم ۷۶ منسوخ شده استپشتیبانی از گواهیهای متصل به سرور حذف شده است. این نوع داده نادیده گرفته خواهد شد.
گواهیهای متصل به سرور
- سرویس ورکرها
بولی اختیاری
کارگران خدماتی.
- وب اس کیو ال
بولی اختیاری
دادههای WebSQL وبسایتها.
RemovalOptions
گزینههایی که دقیقاً مشخص میکنند چه دادههایی حذف خواهند شد.
خواص
- مستثنی کردن ریشهها
رشته[] اختیاری
کروم ۷۴+در صورت وجود، دادههای مربوط به مبدأها در این لیست از حذف مستثنی هستند. نمیتوان آنها را همراه با
originsاستفاده کرد. فقط برای کوکیها، فضای ذخیرهسازی و حافظه پنهان پشتیبانی میشوند. کوکیها برای کل دامنه قابل ثبت مستثنی هستند. - انواع مبدا
شیء اختیاری
شیءای که ویژگیهای آن مشخص میکند کدام نوع مبدأ باید پاک شود. اگر این شیء مشخص نشده باشد، به طور پیشفرض فقط مبدأهای «محافظت نشده» را پاک میکند. لطفاً قبل از افزودن «protectedWeb» یا «extensions»، مطمئن شوید که واقعاً میخواهید دادههای برنامه را حذف کنید.
- پسوند
بولی اختیاری
افزونهها و برنامههای کاربردی بستهبندیشدهای که کاربر نصب کرده است (واقعاً مراقب باشید!).
- وب محافظتشده
بولی اختیاری
وبسایتهایی که به عنوان برنامههای میزبانی شده نصب شدهاند (مراقب باشید!).
- وب محافظت نشده
بولی اختیاری
وبسایتهای معمولی.
- خاستگاهها
[رشته، ...رشته[]] اختیاری
کروم ۷۴+در صورت وجود، فقط دادههای مربوط به مبداهای موجود در این لیست حذف میشوند. فقط برای کوکیها، فضای ذخیرهسازی و حافظه پنهان پشتیبانی میشوند. کوکیها برای کل دامنه قابل ثبت پاک میشوند.
- از آنجایی که
شماره اختیاری
دادههای انباشتهشده در یا بعد از این تاریخ، که از زمان epoch بر حسب میلیثانیه نمایش داده میشوند را حذف کنید (از طریق متد
getTimeاز شیءDateجاوا اسکریپت قابل دسترسی است). در صورت عدم وجود، مقدار پیشفرض 0 است (که تمام دادههای مرور را حذف میکند).
روشها
remove()
chrome.browsingData.remove(
options: RemovalOptions,
dataToRemove: DataTypeSet,
): Promise<void>
انواع مختلف دادههای مرور ذخیره شده در پروفایل کاربر را پاک میکند.
پارامترها
- گزینهها
- حذف داده
مجموعه انواع دادهای که باید حذف شوند.
بازگشتها
قول<void>
کروم ۹۶+
removeAppcache()
chrome.browsingData.removeAppcache(
options: RemovalOptions,
): Promise<void>
دادههای appcache وبسایتها را پاک میکند.
پارامترها
- گزینهها
بازگشتها
قول<void>
کروم ۹۶+
removeCache()
chrome.browsingData.removeCache(
options: RemovalOptions,
): Promise<void>
حافظه پنهان مرورگر را پاک میکند.
پارامترها
- گزینهها
بازگشتها
قول<void>
کروم ۹۶+
removeCacheStorage()
chrome.browsingData.removeCacheStorage(
options: RemovalOptions,
): Promise<void>
دادههای ذخیرهسازی کش وبسایتها را پاک میکند.
پارامترها
- گزینهها
بازگشتها
قول<void>
کروم ۹۶+
removeCookies()
chrome.browsingData.removeCookies(
options: RemovalOptions,
): Promise<void>
کوکیهای مرورگر و گواهیهای متصل به سرور که در یک بازه زمانی خاص تغییر یافتهاند را پاک میکند.
پارامترها
- گزینهها
بازگشتها
قول<void>
کروم ۹۶+
removeDownloads()
chrome.browsingData.removeDownloads(
options: RemovalOptions,
): Promise<void>
لیست فایلهای دانلود شده مرورگر را پاک میکند ( نه خود فایلهای دانلود شده).
پارامترها
- گزینهها
بازگشتها
قول<void>
کروم ۹۶+
removeFileSystems()
chrome.browsingData.removeFileSystems(
options: RemovalOptions,
): Promise<void>
دادههای سیستم فایل وبسایتها را پاک میکند.
پارامترها
- گزینهها
بازگشتها
قول<void>
کروم ۹۶+
removeFormData()
chrome.browsingData.removeFormData(
options: RemovalOptions,
): Promise<void>
دادههای فرم ذخیرهشده در مرورگر را پاک میکند (تکمیل خودکار).
پارامترها
- گزینهها
بازگشتها
قول<void>
کروم ۹۶+
removeHistory()
chrome.browsingData.removeHistory(
options: RemovalOptions,
): Promise<void>
تاریخچه مرورگر را پاک میکند.
پارامترها
- گزینهها
بازگشتها
قول<void>
کروم ۹۶+
removeIndexedDB()
chrome.browsingData.removeIndexedDB(
options: RemovalOptions,
): Promise<void>
دادههای IndexedDB وبسایتها را پاک میکند.
پارامترها
- گزینهها
بازگشتها
قول<void>
کروم ۹۶+
removeLocalStorage()
chrome.browsingData.removeLocalStorage(
options: RemovalOptions,
): Promise<void>
دادههای ذخیرهسازی محلی وبسایتها را پاک میکند.
پارامترها
- گزینهها
بازگشتها
قول<void>
کروم ۹۶+
removePasswords()
chrome.browsingData.removePasswords(
options: RemovalOptions,
): Promise<void>
پشتیبانی از حذف رمز عبور از طریق افزونهها حذف شده است. این عملکرد هیچ تاثیری ندارد.
رمزهای عبور ذخیره شده مرورگر را پاک میکند.
پارامترها
- گزینهها
بازگشتها
قول<void>
کروم ۹۶+
removePluginData()
chrome.browsingData.removePluginData(
options: RemovalOptions,
): Promise<void>
پشتیبانی از فلش حذف شده است. این عملکرد هیچ تاثیری ندارد.
دادههای افزونهها را پاک میکند.
پارامترها
- گزینهها
بازگشتها
قول<void>
کروم ۹۶+
removeServiceWorkers()
chrome.browsingData.removeServiceWorkers(
options: RemovalOptions,
): Promise<void>
سرویس ورکرهای وبسایتها را پاک میکند.
پارامترها
- گزینهها
بازگشتها
قول<void>
کروم ۹۶+
removeWebSQL()
chrome.browsingData.removeWebSQL(
options: RemovalOptions,
): Promise<void>
دادههای WebSQL وبسایتها را پاک میکند.
پارامترها
- گزینهها
بازگشتها
قول<void>
کروم ۹۶+
settings()
chrome.browsingData.settings(): Promise<object>
گزارش میدهد که در حال حاضر کدام نوع دادهها در رابط کاربری تنظیمات «پاک کردن دادههای مرور» انتخاب شدهاند. توجه: برخی از انواع دادههای موجود در این API در رابط کاربری تنظیمات موجود نیستند و برخی از تنظیمات رابط کاربری بیش از یک نوع داده ذکر شده در اینجا را کنترل میکنند.
بازگشتها
قول دادن<object>
کروم ۹۶+